List接口的用法
List集合与数组之间的转换
将List集合转换为数组
Object[] arr=list1.toArray(); for(int i=0;i<arr.length;i++){ String a=(String) arr[i]; System.out.println("转化为字符串"+a); } //list.toArray(Object[] arr); String[] arr2=new String[list1.size()]; list1.toArray(arr2); for(int i=0;i<arr2.length;i++){ System.out.println("第二种直接转换为字符串数组"+arr2[i]); }
将数组转换为List集合
Integer[] num=new Integer[]{1,2,3,4}; //将数组转换为list集合 List<Integer> list4=Arrays.asList(num);
List集合中元素的排序
当元素为整型时
//降序 list4.sort((a,b)->b-a); System.out.println(list4); //升序 list4.sort((a,b)->a-b); System.out.println(list4); //乱序 Collections.shuffle(list4); System.out.println(list4);
当元素为字符型时
//升序 a-z list7.sort(String::compareTo); System.out.println(list7); //降序 z-a list7.sort(Comparator.reverseOrder()); System.out.println(list7); //按字母个数升序 list7.sort(Comparator.comparingInt(String::length)); System.out.println(list7); //按字母个数降序 list7.sort((a,b)->b.length()-a.length()); System.out.println(list7);
List集合的基本操作
//给集合添加元素 list1.add("a"); //查看对应位置元素的值 list1.get(0); //查看指定的元素是否存在 list1.contains("a"); //遍历集合输出 for(Object o : list1){ System.out.println("数据"+o); } //清空集合中所有的元素 list1.clear(); //清空集合中某个位置的元素 list1.remove(index); //修改指定位置元素的值 list1.set(0,"java"); //返回指定索引对象的位置 System.out.println(list1.indexOf("java")); //输出集合容器中的元素个数 System.out.println(list1.size());
List对象集合排序
List<Student> list9 = new ArrayList<Student>(); Student stone=new Student(); stone.setId(1); stone.setName("万物"); stone.setScore(100); Student sttwo=new Student(); sttwo.setId(0); sttwo.setName("里斯"); sttwo.setScore(88); list9.add(stone); list9.add(sttwo); //乱序 Collections.shuffle(list9); //根据分数升序 list9.sort((a,b)->a.getScore()-b.getScore()); list9.forEach(System.out::println); //根据ID降序 list9.sort(Comparator.comparingInt(Student::getId)); list9.forEach(System.out::println);