Collection和Collections的区别:
Collection:顶层次单列集合的根接口,它是一个集合,是一个接口
Collections:是针对集合操作的工具类,有一些功能:随机置换,集合里面的二分查找,将集合的元素进行反转
public static T max(Collection coll):获取集合中的最大值
public static void reverse(List<?> list):将集合中的元素顺序反转
public static void huffle(List<?> list):将集合中的元素打乱
Collection:顶层次单列集合的根接口,它是一个集合,是一个接口
Collections:是针对集合操作的工具类,有一些功能:随机置换,集合里面的二分查找,将集合的元素进行反转
Collections重要的方法:
public static <T> int binarySearch(List<T> list, T key)集合的二分查找
public static T max(Collection coll):获取集合中的最大值
public static void reverse(List<?> list):将集合中的元素顺序反转
public static void huffle(List<?> list):将集合中的元素打乱
public static void reverse(List<?> list):将集合中的元素顺序反转
public static void huffle(List<?> list):将集合中的元素打乱
public static void sort(List<T> list)
举例:
public class Demo1 { public static void main(String[] args) { List<Integer> arr=new ArrayList<Integer>(); arr.add(56); arr.add(44); arr.add(55); arr.add(33); arr.add(21); Collections.sort(arr); System.out.println(arr); int s=Collections.binarySearch(arr, 55); System.out.println(s); System.out.println(Collections.max(arr)); Collections.reverse(arr); System.out.println(arr); Collections.shuffle(arr); System.out.println(arr); } }
public static void sort(List<T> list ,Comparator comparator):可以使用比较器进行排序
举例:
public class Demo2 { public static <T> void main(String[] args) { List<Student> arr=new ArrayList<Student>(); Student s1=new Student("曾轶可",28); Student s2=new Student("毛不易",26); Student s3=new Student("薛之谦",30); Student s4=new Student("李荣浩",25); Student s5=new Student("张嘉译",40); Student s6=new Student("曾轶可",28); arr.add(s1); arr.add(s2); arr.add(s3); arr.add(s4); arr.add(s5); arr.add(s6); Collections.sort(arr, new Comparator<Student>() { @Override public int compare(Student s1, Student s2) { int num=s1.getAge()-s2.getAge(); int num1=num==0?s1.getName().compareTo(s2.getName()):num; return num1; } }); for(Student s:arr) { System.out.println(s.getName()+"---"+s.getAge()); } } }注释:同一个学生对象可以重复