java学习:List集合

来源:互联网 发布:asp读取excel数据 编辑:程序博客网 时间:2024/06/07 12:34

List集合是元素有序、可重复的的集合,每个元素都有其对应的顺序索引。

与Set集合相比,List集合增加了根据索引来插入、替换、删除集合元素的方法。

下面程序示范了List集合的常规用法。

public class ListTest{public static void main(String[] args){List books = new ArrayList();// 向books集合中添加三个元素books.add(new String("轻量级Java EE企业应用实战"));books.add(new String("疯狂Java讲义"));books.add(new String("疯狂Android讲义"));System.out.println(books);// 将新字符串对象插入在第二个位置books.add(1 , new String("疯狂Ajax讲义"));for (int i = 0 ; i < books.size() ; i++ ){System.out.println(books.get(i));}// 删除第三个元素books.remove(2);System.out.println(books);// 判断指定元素在List集合中位置:输出1,表明位于第二位System.out.println(books.indexOf(new String("疯狂Ajax讲义"))); //①//将第二个元素替换成新的字符串对象books.set(1, new String("疯狂Java讲义"));System.out.println(books);//将books集合的第二个元素(包括)//到第三个元素(不包括)截取成子集合System.out.println(books.subList(1 , 2));}}
上面1代码其实集合中并未包含该对象但是一样可以返回1,是因为List判断两个对象相等是通过equals()方法返回true即可。

java8为List新增了sort()和replaceAll()方法,sort()需要Comparator对象来控制元素排序,而replaceAll()需要一个UnaryOperator来替换所有集合元素,它们都是函数式接口下面程序示范了两个默认方法的功能

public class ListTest3{public static void main(String[] args){List books = new ArrayList();// 向books集合中添加4个元素books.add(new String("轻量级Java EE企业应用实战"));books.add(new String("疯狂Java讲义"));books.add(new String("疯狂Android讲义"));books.add(new String("疯狂iOS讲义"));// 使用目标类型为Comparator的Lambda表达式对List集合排序books.sort((o1, o2)->((String)o1).length() - ((String)o2).length());System.out.println(books);// 使用目标类型为UnaryOperator的Lambda表达式来替换集合中所有元素// 该Lambda表达式控制使用每个字符串的长度作为新的集合元素books.replaceAll(ele->((String)ele).length());System.out.println(books); // 输出[7, 8, 11, 16]}}



0 0
原创粉丝点击