集合类与数组的关系
1,数组转为集合类的注意事项.
首先数组转为集合类的方式:
// String[] arr = {"a","b","c","d"};
/* 此处由于集合存储的是引用类型.所以.... */
// int[] arr ={1,3,3,4,5,67,5};
Integer[] arr={1,2,3,4,56,7};
List<Integer> list=Arrays.asList(arr);
for (Integer i : list) {
System.out.print(i+",");
}
以上代码的注意事项:
1,基本数据类的数组转换成集合类时,必须使用的包装类的.否则只会保存该数组的引用(即地址值)到集合中去.
2,由数组转成的集合类不要进行增删操作.否则会报UnsupportedOperationException异常.
2,集合转为数组
就用 集合 的方法 toArray(T[] a)
可变参数的使用
可变参数的使用是从jdk1.5开始的.
例如代码如下
public static void say(int...arr) {//此处就是可变参数的使用.
for (int i : arr) {
System.out.print(i+" ");
}
}
注意事项:
- 这里的变量其实是一个数组.
- 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个.
//当控制台输入 1,2,34,56,4时,其实mid =1 ,其余的收入到数组arr中.
//这也是为何可变参数的应该放到最后的原因.
public static void say(int mid,int...arr) {
for (int i : arr) {
System.out.print(i+" ");
}
}
集合类的嵌套使用
ArrayList<String> one = new ArrayList<>();
one.add("Bob");
one.add("Jack");
ArrayList<String> two = new ArrayList<>();
two.add("GG");
two.add("JkluoLin");
ArrayList<ArrayList<String>> all= new ArrayList<>();
all.add(two);
all.add(one);
for (ArrayList<String> arrayList : all) {
for (String str : arrayList) {
System.out.println(str);
}
}