当前位置: 首页 > 编程笔记 >

Java中的树集和哈希集之间的区别

郏佐
2023-03-14
本文向大家介绍Java中的树集和哈希集之间的区别,包括了Java中的树集和哈希集之间的区别的使用技巧和注意事项,需要的朋友参考一下

哈希集和树集都属于集合框架。HashSet是Set接口的实现,而Tree set实现排序的集。树集由TreeMap支持,而HashSet由哈希映射支持。

序号 哈希集 树集
1
实作 
哈希集是使用HashTable实现的 
树集是使用树结构实现的。 
2
空对象 
HashSet允许一个空对象 
树集不允许使用空对象。它抛出空指针异常。 
3
方法 
哈希集使用equals方法比较两个对象 
树集使用比较方法比较两个对象。 
4
异构对象 
哈希集现在不允许使用异构对象 
树集允许异构对象 
5
定购 
HashSet不维护任何顺序 
TreeSet维护对象的排序顺序 

TreeSet的示例

class TreeSetExmaple {
   public static void main(String[] args){
      TreeSet<String> treeset = new TreeSet<String>();
      treeset.add("Good");
      treeset.add("For");
      treeset.add("Health");
      //添加重复元素
      treeset.add("Good");
      System.out.println("TreeSet : ");
      for (String temp : treeset) {
         System.out.println(temp);
      }
   }
}

输出结果

TreeSet:
   Health
   For
   Good

HashSet的示例

class HashSetExample {
   public static void main(String[] args){
      HashSet<String> hashSet = new HashSet<String>();
      hashSet.add("Good");
      hashSet.add("For");
      hashSet.add("Health");
      //添加重复元素
      hashSet.add("Good");
      System.out.println("HashSet: ");
      for (String temp : hashSet) {
         System.out.println(temp);
      }
   }
}

输出结果

TreeSet:
   Health
   Good
   For
 类似资料:
  • 问题内容: 我面临着一个奇怪的问题,它与Java和php5中的MD5-Hashes有关。我发现在某些情况下,以下代码无法生成正确的MD5哈希值: 我不得不迁移现有的用户数据库,密码存储在php5 MD5中。现在,部分用户(并非全部)无法登录,因为我的Java代码无法生成正确的MD5哈希。 任何想法上面有什么问题吗? 问题答案: 无法正确转换<0x10字节,则需要用零填充。 例:

  • 问题内容: 我在Java中有以下代码: 以及C#中的以下代码: 字节数组“ secretKey”和“ bytes”是等效的,但字节数组“ rawHmac”不同,字符串“ result”不同。谁能看到原因? 问题答案: 不要这样做: 这将使用平台默认编码将字符串转换为字节数组。平台之间可能会有所不同,而您想要一些可重复的东西。我建议使用UTF-8: (当然,对密钥执行相同的操作。) 然后,您应该在C

  • 本文向大家介绍Java中并发哈希映射和同步哈希映射之间的区别,包括了Java中并发哈希映射和同步哈希映射之间的区别的使用技巧和注意事项,需要的朋友参考一下 并发Hashmap是jdk1.5中引入的类。并发哈希映射仅在添加或更新映射时在称为片段的存储桶级别应用锁。因此,并发哈希映射允许对映射进行并发读写操作。  同步hashmap(Collection.syncronizedHashMap())是C

  • 本文向大家介绍Java中的集合与集合之间的区别,包括了Java中的集合与集合之间的区别的使用技巧和注意事项,需要的朋友参考一下 Java收集框架用于操纵对象的收集。收集框架包含多个包装器类,便利类,用于传统实现的类,例如vector和Hashtable,收集接口等。     集合是Java集合框架中的接口。它分为两部分- Java util集合-它包含诸如Set,queue,List等的类。 Ja

  • 本文向大家介绍Java中列表和集合之间的区别,包括了Java中列表和集合之间的区别的使用技巧和注意事项,需要的朋友参考一下 List和Set这两个接口都属于Collection框架。这两个接口都扩展了Collection接口。它们都用于将对象集合存储为单个单元。  在jdk1.2之前,我们曾经使用Arrays,Vectors和Hashtable将对象分组为一个单元。  序号 键 列表 组 1个 位

  • 本文向大家介绍Java 8中流和集合之间的区别,包括了Java 8中流和集合之间的区别的使用技巧和注意事项,需要的朋友参考一下 Java Collections框架用于存储和处理数据组。它是一个内存中的数据结构,应先计算集合中的每个元素,然后才能将其添加到集合中。 Stream API仅用于处理数据组。它不会修改实际的集合,它们仅根据流水线方法提供结果。 序号 键 馆藏 流 1个 基本的 流API