将接口和实现分离
// java8后,前面声明泛型,后面就不用声明泛型了
List<String> list = new ArrayList<>();
list.add("haha");
list.add("xixi");
// for each遍历
for (String s : list) {
System.out.println(s);
}
// 迭代器遍历
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
全部接口
全部具体集合
轻量级集合包装器
String[] strings = new String[3];
List<String> list = Arrays.asList(strings);
for (String s : list) {
System.out.println(s);
}
其实底层还是数组,并没有创建ArrayList。这是一种视图技术,底层操作的还是这个数组
简单排序
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);
list.add(2);
Collections.sort(list);
数组排序
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);
list.add(2);
Integer[] array = list.toArray(new Integer[0]);
Arrays.sort(array);
二分查找
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);
list.add(2);
int x = Collections.binarySearch(list, 3);
System.out.println(x);