list集合代表元素有序(这里的有序并不是指按大小排列,每个元素都有其对应的顺序索引),且集合中的元素可重复,可以通过索引访问指定位置的元素。
list集合默认按元素的添加顺序设置元素的索引。
但是集合中的元素重新排序后,元素的索引也会改变。
package com.cn;
import java.util.ArrayList;
import java.util.List;
public class ListArray {
public static void main(String[] args) {
List list = new ArrayList();
list.add(10);
list.add(1);
list.add(90);
list.add(-2);
System.out.println(list);
System.out.println(list.get(2));
list.sort(null);
System.out.println(list);
System.out.println(list.get(2));
}
}
//输出结果如下:
/**
[10, 1, 90, -2]
90
[-2, 1, 10, 90]
10
*/
list集合增加了sort()和replaceAll()两个常用的默认方法
sort()需要一个Comparator对象来控制元素,可以用Lambda表达式作为参数
replaceAll()
package com.cn;
import java.util.ArrayList;
import java.util.List;
public class ListArray {
public static void main(String[] args) {
List list = new ArrayList();
list.add("hello");
list.add("welcome");
list.add("你从哪里来");
list.add("me");
System.out.println(list);
list.sort((o1,o2)->((String)o1).length() - ((String)o2).length());
System.out.println(list);
list.replaceAll(ele->((String)ele).length());
System.out.println(list);
}
}
ArrayList 和 vector
ArrayList和Vector是list的两个典型实现。支持list接口的全部功能。只是他们两个都是基于数组实现的