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