JAVA中数组初始化赋值,以及获取某些数据结构长度的函数
- 数组快速赋初值
- 获取某些数据结构长度
数组初始化
固定长度的数组进行赋初值:
int[] flag1=new int[]{1,2,3,4,5};
给数组中所有值赋同一个初始值
int[] flag=new int[length];
Arrays.fill(flag,520);
//输出
System.out.println(Arrays.toString(flag));//避免了循环一个一个print的痛苦
list类型初始化问题:
list类型初始化的几种方式
满足我现在使用需求的list:
List<String> dogs = new ArrayList<>(Collections.nCopies(3, "dog"))
System.out.println("dogs: " + dogs);
获取某些数据结构长度
list类型的时候(属于集合(list,map类型均可以使用))
List<List<Integer>> rooms;
int length=rooms.size();
数组的时候使用:
int[] flag=new int[length];
Arrays.fill(flag, 99);
System.out.println(flag.length);
字符串时候使用:
String lover="my lover";
System.out.println(lover.length());//结果是8
JAVA中常用的字符串函数的使用方法:
//字符串的分割
String n="hello world";
String[] m=n.split(" ") ;
//取字符串的第n个字符
str.charAt(i)
//截取字符串中某部分的、
str.subString(0,i);
//十进制转二进制,十六进制
int x=250;
String strHex = Integer.toHexString(x);
String result = Integer.toBinaryString(x);
//十六进制或二进制转十进制
int m=Integer.valueOf(str,16);
int m=Integer.valueOf(str,2);
//java中判断字符是不是数字
Character.isDigit(str.charAt(i))
//Java中判断字符串是不是数字(正则表达式)
String str="helelo"
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
//使用org.apache.commons.lang
org.apache.commons.lang.StringUtils;
boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
所以正常的写法是这样的:
1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");
split分隔符总结
1.字符"|","*","+"都得加上转义字符,前面加上"\\"。
2.而如果是"\",那么就得写成"\\\\"。
3.如果一个字符串中有多个分隔符,可以用"|"作为连字符