`

java集合之Set与List

阅读更多

Set (集合)是无序、不可以重复的

List(列表)是有序、可以重复的

Map (映射)是键-值对:Map<key , value>


既然set集合是无序的,它的存取值与哈希算法是分不开的。

因为它在存储时的内存地址,完全可以是这个值本身经过哈希算法处理后得到。
为什么这样做?在值已知的情况下,提高了获取的速度。
因为知道了值,就知道了对应的内存地址。
就象目录的索引一样,一体2面。目录-页数。象给页数加了个书签,让你一下就能翻到它。

java中的HashMap<key , value>对象是一种set集合。
这样在已知键的情况下,可以立刻获取它的值是什么。

java中的HashSet<key>对象,也是一种set集合。
不过单纯的将一个key以set集合的方式进行存储,似乎意义不大。
相反,Java中HashSet<key> 却是基于HashMap<key,value>实现的。




在HashMap中,对于一个key可以有多个value的情况,
可以这样实现:HashMap<key, HashSet>
在哈希表里面放哈希表或list作为二级索引。








------------------------------------------------
参考:

Java 集合:HashSet 与 ArrayList
http://www.blogjava.net/jlins-you/archive/2012/04/23/376429.html

java中HashMap详解
http://blog.csdn.net/caihaijiang/article/details/6280251

key可以相同,value不同,但value的值要求不重复,用什么保存好,或者有什么好的保存方式?
http://bbs.csdn.net/topics/90258834

java HashMap插入重复Key值问题
http://blog.sina.com.cn/s/blog_7c81dd59010127by.html

Java中的Hashtable的用法
http://blog.csdn.net/teedry/article/details/4280034





附:


虚线:接口
实线:实现类
黑线:常用类







可以看出:list set 继承自 collection 接口。
          map      继承自 map        接口。





-
  • 大小: 24.6 KB
  • 大小: 95.1 KB
分享到:
评论

相关推荐

    java集合类详解(set list ArrayList等java集合类详述)

    集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等。Collection 接口没有实现类,因此需要通过其子接口来实现。 Set 是一个...

    Java集合Collection、List、Set、Map使用详解编程资料

    Java集合Collection、List、Set、Map使用详解

    java集合类list-set-map.doc

    java集合类list-set-map.doc

    java List、Set与Array之间的相互转换

    7. **Java集合框架的理解**:了解Java集合框架的设计理念,如List接口实现了有序且允许重复的序列,Set接口实现了无序且不允许重复的集合,以及Array是固定大小的原始类型或对象的数组,有助于更好地理解这些转换...

    Java-Java集合体系-List-Set

    理解并熟练运用Java集合体系中的List、Set、Map接口及其实现类,对于日常开发和面试来说至关重要,因为它们是许多Java框架和库的基础。在实际项目中,根据需求选择合适的集合类型可以提高代码的效率和可维护性。在...

    java 集合练习题

    Java集合框架是Java API的一部分,它提供了多种数据结构,如List、Set和Queue等,以及操作这些数据结构的方法。这些数据结构可以帮助我们有效地存储和管理数据。 2. **ArrayList与HashMap**: - **ArrayList**:...

    Java 集合框架深度解析:List、Set 和 Map 的差异与应用

    本文深入探讨了 Java 集合框架中的 List、Set 和 Map 三种集合类型,包括它们的特点、实现以及使用示例。通过对比分析,明确了它们之间的区别和适用场景。希望本文能够帮助你在实际开发中更好地利用 Java 集合框架,...

    set转成list集合再排序输出

    Java相关 public static void main(String[] args) { User u1=new User(1, "zhangsan");... //放入到Set集合中 Set userset=new HashSet(); userset.add(u1); userset.add(u2); userset.add(u3);

    Java集合Collection、List、Set、Map使用详解.pdf

    "Java集合Collection、List、Set、Map使用详解" Java集合是Java编程语言中最基本也是最重要的一部分。能够正确地使用集合类和理解集合的实现原理对于Java程序的开发具有无比的好处。本文将详细解释Java集合的实现...

    Java集合排序及java集合类详解(Collection、List、Map、Set).doc

    Java集合排序及java集合类详解(Collection、List、Map、Set).doc

    Java集合排序及java集合类详解(Collection、List、Map、Set).pdf

    Java集合框架主要包括Collection、List、Set、Map四个接口,它们分别实现了不同的数据结构。 Collection接口是Java集合框架的顶层接口,它定义了基本的集合操作,如add、remove、contains等。Collection接口有两个...

    精通java集合框架--List,Set..

    ### 精通Java集合框架——List, Set, Map #### 概述 Java集合框架是一种高度抽象且灵活的数据组织工具,它通过一系列接口来定义不同类型的数据容器,并提供了丰富的操作这些容器的方法。本文将深入探讨Java集合...

    Java集合:Collection、List、Set、Map使用详解

    本文将深入探讨Java集合框架中的四个主要接口:Collection、List、Set和Map,以及它们的实现原理。 ### 集合框架概述 集合框架是Java API中用于存储和管理对象的统一框架。它为数据结构提供了抽象接口,使得程序员...

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解 Java集合框架是Java语言中最重要的组件之一,能够正确使用Java集合框架对于Java程序的开发具有无比的好处。本文将详细解释Java集合框架的实现原理、...

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...

Global site tag (gtag.js) - Google Analytics