`
fly931
  • 浏览: 8021 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

hashmap,hashtable,treemap总结的一个例子

阅读更多
import java.util.ArrayList; 
import java.util.Collections; 
import java.util.Map; 
import java.util.HashMap; 
import java.util.Set; 
import java.util.HashSet; 
import java.util.Iterator; 
import java.util.Hashtable; 
import java.util.TreeMap; 

public class Test { 
public static void main(String[] args) { 
//hashmap,它是无序的。, 
Map map = new HashMap(); 
map.put("a", "aaa"); 
map.put("b", "bbb"); 
map.put("c", "ccc"); 
map.put("d", "ddd"); 

Iterator iterator = map.keySet().iterator(); 
while (iterator.hasNext()) { 
Object key = iterator.next(); 
System.out.println("map.get(key) is :" + map.get(key)); 
} 
//hashtale,它也是无序的。 
Hashtable tab = new Hashtable(); 
tab.put("a", "aaa"); 
tab.put("b", "bbb"); 
tab.put("c", "ccc"); 
tab.put("d", "ddd"); 
Iterator iterator_1 = tab.keySet().iterator(); 
while (iterator_1.hasNext()) { 
Object key = iterator_1.next(); 
System.out.println("tab.get(key) is :" + tab.get(key)); 
} 
//treemap,它是有序的 
TreeMap tmp = new TreeMap(); 
tmp.put("a", "aaa"); 
tmp.put("b", "bbb"); 
tmp.put("c", "ccc"); 
tmp.put("d", "ddd"); 
Iterator iterator_2 = tmp.keySet().iterator(); 
while (iterator_2.hasNext()) { 
Object key = iterator_2.next(); 
System.out.println("tmp.get(key) is :" + tmp.get(key)); 
} 
//arrayList,它是有序的 
   ArrayList arrayList=new ArrayList(); 
   arrayList.add("aaa"); 
   arrayList.add("bbb"); 
   arrayList.add("ccc"); 
   arrayList.add("ddd"); 
   Collections.sort(arrayList); 
   for(int i=0;i<arrayList.size();i++){ 
   System.out.println(arrayList.get(i)); 
   } 

} 

} 
分享到:
评论

相关推荐

    java中HashMap,LinkedHashMap,TreeMap,HashTable的区别

    `HashMap`是一种基于哈希表实现的`Map`接口,提供了一个非同步的、允许使用`null`键和值的存储结构。`HashMap`通过计算对象的哈希码来存储和检索对象,这使得数据可以在常数时间内被访问。 - **特点**: - **非...

    第9讲 对比Hashtable、HashMap、TreeMap有什么不同?1

    【HashMap、Hashtable、TreeMap详解】 HashMap、Hashtable和TreeMap都是Java中实现Map接口的类,它们用于存储键值对数据,但各自具有不同的特点和使用场景。 HashMap是最常用的Map实现,它通过哈希表(散列表)...

    HashMap,HashTable,LinkedHashMap,TreeMap的区别

    LinkedHashMap 也是一个 HashMap,但是内部维持了一个双向链表,可以保持顺序。LinkedHashMap 的输出顺序与输入顺序保持一致。LinkedHashMap 的实现类似于 HashMap,但是它维持了一个双向链表,以便于维持顺序。 ...

    Java集合专题总结:HashMap 和 HashTable 源码学习和面试总结

    HashMap是一种基于哈希表的集合类,它的存储结构是一个数组,每个元素是一个单链表的头节点,链表用来解决hash地址冲突问题。HashMap有四个构造方法,其中初始容量和加载因子是影响性能的重要参数。加载因子是哈希表...

    java HashMap,TreeMap与LinkedHashMap的详解

    在这个例子中,`LinkedHashMap`保持了插入顺序,即使有重复的键,如`"gdsf"`,后插入的值会覆盖前一个,但插入顺序依然保留。 总结起来,`HashMap`适合于对顺序无要求且需要高效查找的场景;`TreeMap`适用于需要...

    HashMap vs TreeMap vs Hashtable vs LinkedHashMap

    在这个例子中,Dog对象的颜色字符串实现了Comparable接口,所以按照字母顺序排序。 HashTable HashTable是线程安全的,这意味着它在多线程环境下可以直接使用,无需额外的同步措施。但要注意,HashTable不允许null...

    HashMap底层原理.pdf

    Node[] table是HashMap的核心,它是一个Node数组,数组的每一个元素都是一个Node对象,每个Node对象可以包含一个key-value键值对。Node是HashMap的内部类,它实现了Map.Entry,V&gt;接口。 HashMap的扩容机制在JDK 1.8...

    JAVA中HashMap的用法.docx

    在Java编程中,HashMap是基于哈希表实现的Map接口的一个实现,它是Java集合框架的重要组成部分,提供了高效、快速的键值对存储和检索能力。HashMap允许任何类型的对象作为键和值,但要求键必须是唯一的,且键和值都...

    【后端】java基础(4.4)java中级基础之集合——Map

    它的底层结构是链表散列,也就是一个数组结构然后每个数组结构里包含的一个链表。我们平常直接叫它“键值(key——value)”结构。 map的实现接口有有不少,比如: HashMap Hashtable TreeMap LinkedHashMap 我们...

    Hashtable的使用

    - **允许`null`值**:`HashMap`允许一个`null`键和多个`null`值,而`Hashtable`都不允许。 - **迭代器遍历顺序**:`HashMap`的迭代器遍历顺序是不确定的,`Hashtable`也一样。 总结,`Hashtable`是Java中一个基础且...

    HashMap资料.zip

    2. **哈希冲突**:当两个键的哈希值相同时,HashMap使用链地址法处理冲突,即将相同哈希值的键值对放在同一个链表中。如果冲突频繁,链表会变长,查找效率降低,此时HashMap的行为接近于链表,最坏情况下时间复杂度...

    集合框架包含collection和map的子类

    集合框架包含collection和map的子类。其中collection包含list、set和queue。map包括hashmap、hashtable和treemap

    Java 72 道面试题及答案.docx

    "Java 集合框架详解" ...HashMap 是一个基于数组和链表组成的 Map,LinkedHashMap 继承自 HashMap,並且增加了一条双向链表,使得上面的结构可以保持键值对的插入顺序。HashTable 是一个基于数组和链表组成的 Map。

    HashMapvs.TreeMapvs.Hashtable

    在Java编程语言中,`HashMap`、`TreeMap`和`Hashtable`是三种常见的集合类,它们都实现了`Map`接口,用于存储键值对数据。理解这些类的区别和应用场景对于提升Java开发技能至关重要。 首先,`HashMap`是Java中最...

    java的hashtable的用法.pdf

    在Java编程语言中,`Hashtable`是`Dictionary`类的一个具体实现,它是早期Java版本中的一个线程安全的键值对存储容器。`Hashtable`遵循了一些基本的映射概念,如存储键值对、根据键查找值以及添加、删除键值对等。...

    Java集合类List-Set-Map的区别和联系.doc

    HashMap 是一个基于哈希表的集合类,HashTable 是一个线程安全的基于哈希表的集合类,TreeMap 是一个基于树形结构的集合类。 三、Collections Collections 是 Java 中提供的一个工具类,提供了对集合类的操作方法...

    比hashtable查找起来方便,转换类型也简单

    `Hashtable`是Java集合框架中的一员,它是一个线程安全的键值对存储容器,但随着Java的发展,一些其他的数据结构如`HashMap`、`ConcurrentHashMap`等因其特定优势而更受青睐。 `Hashtable`的主要特点包括: 1. **...

Global site tag (gtag.js) - Google Analytics