java TreeMap和LinkedHashMap的特点?
时间: 2023-12-25 22:26:59 浏览: 90
java HashMap,TreeMap与LinkedHashMap的详解
5星 · 资源好评率100%
Java中的TreeMap和LinkedHashMap都是Map接口的实现类,它们的特点如下:
1. TreeMap是基于红黑树实现的,因此它的元素是有序的,可以根据键值进行排序,默认是按照自然顺序排序,也可以通过Comparator接口来自定义排序方式。
2. LinkedHashMap是基于哈希表和双向链表实现的,因此它的元素是有序的,可以按照插入顺序或者访问顺序进行排序。如果按照访问顺序排序,需要在构造函数中将accessOrder参数设置为true。
以下是两个类的示例代码:
1. TreeMap示例代码:
```java
import java.util.*;
public class TreeMapDemo {
public static void main(String[] args) {
TreeMap<Integer, String> treeMap = new TreeMap<>();
treeMap.put(3, "apple");
treeMap.put(1, "banana");
treeMap.put(2, "orange");
System.out.println(treeMap); // 输出:{1=banana, 2=orange, 3=apple}
}
}
```
2. LinkedHashMap示例代码:
```java
import java.util.*;
public class LinkedHashMapDemo {
public static void main(String[] args) {
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>(16, 0.75f, true);
linkedHashMap.put(3, "apple");
linkedHashMap.put(1, "banana");
linkedHashMap.put(2, "orange");
System.out.println(linkedHashMap); // 输出:{3=apple, 1=banana, 2=orange}
linkedHashMap.get(1);
System.out.println(linkedHashMap); // 输出:{3=apple, 2=orange, 1=banana}
}
}
```
阅读全文