排序
LinkedList<String> staff = new LinkedList<>();// 填充List// 用salary 字段排序staff.sort(Comparator.comparingDouble(Employee::getSalary));// 按salary 降序排序staff.sort(Comparator.comparingDouble(Employee::getSalary).reversed());// 按自然顺序的降序排序staff.sort(Comparator.reverseOrder());


二分查找
Collections 的静态方法 binarySearch 用于从排好序的 List 中查找指定元素。如果 List 中的排序不是按照 自然顺序排序(用 Comparable 接口的 compareTo 方法进行排序),那么还需要提供一个 Comparator。
// 参数 c 是一个 List 对象,element 是要找的元素i = Collections.binarySearch(c, element);i = Collections.binarySearch(c, element, comparator);
binarySearch 方法如果找到了指定的元素,就返回那个元素的索引;如果没找到,就返回一个负数,根据这个负数,可以将元素添加到正确的排序位置上:
if(i < 0)c.add(-i - 1, element); // -i-1 就是被查找的那个元素在 List 中的排序位置

简单算法

