Java中的TreeMap,HashMap和LinkedHashMap之间的区别
有关帮助区分它们的TreeMap,HashMap和LinkedHashMap的详细信息如下-
Java中的TreeMap
Java中的TreeMap是使用Red-Black树实现的。它具有键值对,即与值关联的键,并且键是有序的。TreeMap只能具有唯一元素,不能具有null键,而只能具有null元素。
演示此的程序如下所示-
示例
import java.util.*;
import java.lang.*;
import java.io.*;
public class Demo {
public static void main (String[] args) {
TreeMap<Integer, String> tMap = new TreeMap<Integer, String>();
int[] arr = {1, 3, 5, 7, 9};
for (int i : arr) {
tMap.put(i, Integer.toString(i));
}
for (int j: tMap.keySet()) {
System.out.print(j + " ");
}
}
}上面程序的输出如下-
输出结果
1 3 5 7 9
Java中的HashMap
Java中的HashMap是使用一系列链接列表来实现的。它具有键值对,即与值关联的键,并且键的顺序是任意的。HashMap只能具有唯一元素,并且只能具有一个null键,但可以具有多个null元素。
演示此的程序如下所示-
示例
import java.util.*;
import java.lang.*;
import java.io.*;
public class Demo {
public static void main (String[] args) {
HashMap<Integer, String> hMap = new HashMap<Integer, String>();
int[] arr = {1, 3, 5, 7, 9};
for (int i : arr) {
hMap.put(i, Integer.toString(i));
}
for (int j: hMap.keySet()) {
System.out.print(j + " ");
}
}
}上面程序的输出如下-
输出结果
1 3 5 7 9
Java中的LinkedHashMap
Java中的LinkedHashMap是使用双向链接存储区实现的。它具有键值对,即与值关联的键,并且键按其插入顺序排序。LinkedHashMap只能具有唯一元素,并且只能具有一个null键,但可以具有多个null元素。
演示此的程序如下所示-
示例
import java.util.*;
import java.lang.*;
import java.io.*;
public class Demo {
public static void main (String[] args) {
LinkedHashMap<Integer, String> lhMap = new LinkedHashMap<Integer, String>();
int[] arr = {1, 3, 5, 7, 9};
for (int i : arr) {
lhMap.put(i, Integer.toString(i));
}
for (int j: lhMap.keySet()) {
System.out.print(j + " ");
}
}
}上面程序的输出如下-
输出结果
1 3 5 7 9