二分查找 public int searchBinary(int[] arrayInt,int value){ int low = 0; int high = arrayInt.length - 1; while (low <= high){ int middle = low + ((high - low) >>> 1); if (arrayInt[middle] < value){ low = middle + 1; } else if (arrayInt[middle] == value){ return middle; } else if (arrayInt[middle] > value){ high = middle - 1; } } return -low ; } Map排序 Map<Integer,String> map = new HashMap<>(); List<Map.Entry<Integer,String>> list = new ArrayList<Map.Entry<Integer, String>>(map.entrySet()); Collections.sort(list, new Comparator<Map.Entry<Integer, String>>() { @Override public int compare(Map.Entry<Integer, String> o1, Map.Entry<Integer, String> o2) { return o1.getKey() - o2.getKey(); } }); //可以用LinkedHashMap保存有序 LinkedHashMap<Integer, User> linkedHashMap = new LinkedHashMap<Integer, User>();