TreeMap 详解

mac2024-11-27  56

package collectionApi; import java.util.Comparator; import java.util.Map.Entry; import java.util.NavigableMap; import java.util.NavigableSet; import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; import java.util.function.BiConsumer; public class TreeMapApi { public static void main(String[] args) { TreeMap<String, String> treeMap = new TreeMap<>(); // 自然升序 treeMap.put("E", "e"); treeMap.put("A", "a"); treeMap.put("F", "f"); treeMap.put("G", "g"); treeMap.put("B", "b"); System.out.println(treeMap); //{A=a, B=b, E=e, F=f, G=g} Comparable<String> comparable = new Comparable<String>() { @Override public int compareTo(String o) { return -1; } }; TreeMap<String, String> treeMap2 = new TreeMap<String, String>(new Comparator<String>() { @Override public int compare(String o1, String o2) { return 1; } }); // 插入序 treeMap2.put("E", "e"); treeMap2.put("A", "a"); treeMap2.put("F", "f"); treeMap2.put("G", "g"); treeMap2.put("B", "b"); System.out.println(treeMap2); //{E=e, A=a, F=f, G=g, B=b} treeMap.size(); boolean b = treeMap.containsKey("E"); System.out.println(b); b = treeMap.containsValue("E"); // false treeMap.get("E"); treeMap.comparator(); treeMap.firstEntry(); treeMap.firstKey(); treeMap.lastKey(); treeMap.lastEntry(); treeMap.putAll(treeMap2); treeMap.put("K", "k"); //treeMap.remove("E"); //treeMap.clear(); NavigableMap<String, String> navigableMap; SortedMap<String, String> sortedMap; String key; Entry<String, String> entry; treeMap.clone(); entry = treeMap.pollFirstEntry(); // 删除first entry = treeMap.pollLastEntry(); // 删除last entry = treeMap.higherEntry("E"); // Key > E key = treeMap.higherKey("E"); // Key > E entry = treeMap.lowerEntry("E"); // Key < E key = treeMap.lowerKey("E"); // Key < E sortedMap = treeMap.headMap("E"); // Key < E navigableMap = treeMap.headMap("E", true); // Key < E sortedMap = treeMap.tailMap("E"); // Key >= E navigableMap = treeMap.tailMap("E", true); // Key > E entry = treeMap.floorEntry("E"); // key <= E key = treeMap.floorKey("E"); // Key <=E entry = treeMap.ceilingEntry("E"); // Key >= E key = treeMap.ceilingKey("E"); // Key >= E sortedMap = treeMap.subMap("E", "G"); // Key >= E && key < G navigableMap = treeMap.subMap("B", true, "G", false); //Key>=B Key <G treeMap.values(); // Collection<V> treeMap.keySet(); // Set<K> NavigableSet<String> set = treeMap.navigableKeySet(); // KeySet set = treeMap.descendingKeySet(); // 反序KeySet Set<Entry<String, String>> entries = treeMap.entrySet(); System.out.println(treeMap); navigableMap = treeMap.descendingMap(); // 返回到序treeMap; System.out.println(navigableMap); treeMap.replace("E", "e", "ee"); // 把key=E 的value 改为ee treeMap.replace("E", "gg"); // 把key=E 的value 改为 gg treeMap.forEach(new BiConsumer<String, String>() { // 遍历 @Override public void accept(String t, String u) { //System.out.println(t + ":" + u); } }); treeMap.forEach((t, u) -> {// 遍历 System.out.println(t + ":" + u); }); } }
最新回复(0)