1, Set :集合中对象不按特定的方式排序,并且没有重复对象,它有些实现类能对集合按特定方式排序

  List :集合中对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索独享,List和数组有些相似。

  Map : 集合中的每一个元素包含一对键对象和值对象,集合汇总没有重复的键对象,值对象可以重复。它的有些实现类能对集合中的键对象进行排序。

2,Set 和 List 接口继承了Collection 接口。

  ‘ Collection’ 接口 iterator() 和 toArray()用于获得集合中所有的元素。

  Iterator 接口隐藏底层集合的数据结构,给客户提供了遍历各种类型的集合的统一接口。

  Iterator 声明了如下方法:

    hashNext() 判断集合中的元素是否遍历完成

    next()  返回下一个元素

    remove() 从集合中删除上一个由next() 方法返回的元素。

3, Set 集合:

  Set 接口有两个实现类: HashSet 和 TreeSet

  HashSet 存取速度比较快,HashSet 还有个子类 LinkedHashSet (即实现了哈希算法,还实现了链表的数据结构,链表数据结构能提高插入和删除元素的性能。

  TreeSet 实现了SortedSet 接口,具有排序功能。

  Set的一般用法: Set中的对象是否相等的比较是用equals 进行比较的

  HashSet : 比较的是哈希码和equals 进行比较的

  TreeSet :向集合中加入数据的时候,会把它插入到有序的对象序列中。TreeSet 支持两种排序方式 自然排序和客户排序, 默认是自然排序。

  a> 自然排序: 一部分类(Integer,Double,String)等,实现了Comparable接口有一个compareTo(Object o)方法,返回整数类型。

    a.compareTo(b) 返回0 a == b, 返回 小于0 a < b ,返回 > 0 a > b.

  b> 客户排序 java.util.Comparator<Type> 接口提供了具体的排序方式。Comparator 有个compare(Type x,Type y)

4,   ArrayList : 长度可变的数组,允许对元素进行快速的随机访问,但是向 ArrayList 中插入与删除数据较慢。

  LinkList : 实现中采用链表数据结构。

  LinkList 单独具有 addFirst() ,addLast() ,getFirst() ,getLast() ,removeFirst() , removeLast(). 这些方法可以作为堆栈,队列,和双向队列来使用。

5, Collections 类 是java集合类库中的辅助类。

    sort(List list) : 对List中的对象进行自然排序

    sort(List list,Comarator comparator) : 对List 中的对象进行客户化排序,comparator 参数指定排序方式。

6,  ListIterator : List 的listIterator() 方法返回一个ListIterator 对象。

   ListIterator :  add() 向队列中插入一个元素 。

          hashNext() 判断是否还有下一个元素。

          hasPrevious() 判断列表中的上一个元素。

          next() 返回列表中的下一个元素。

          previous() 返回列表中的上一个元素。

7,  Collections 一下方法适用于List 类型的集合。

    copy(List dest,List src) 把一个List中的元素copy到另一个list中
    fill(List list,Object o) 向列表中填充元素。
    sort(List list) 自然排序。
    binarySearch(List list,Object key) 查找List 中与给定对象key相同的元素。
    binarySearch(List list,Object key,Comparator c) 调用该方法时,必须保证list 中的元素已经按照Comparator 类型的参数的比较规则排序。
    shuffle(List list) 对List中的元素进行随机排列。

Java 集合介绍的更多相关文章

  1. java集合介绍(List,Set,Map)

    前言 介绍java的常用集合+各个集合使用用例 欢迎转载,请注明作者和出处哦☺ 参考: 1,<Java核心编程技术(第二版)> 2, http://www.cnblogs.com/Litt ...

  2. JAVA集合介绍

    一.集合概述 Java是一种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储.而数组长度固定,不能满足变化的要求.所以,java提供了集合. 特点 1.        长度可以发 ...

  3. HashSet HashTable HashMap的区别 及其Java集合介绍

    (1)HashSet是set的一个实现类,hashMap是Map的一个实现类,同时hashMap是hashTable的替代品(为什么后面会讲到). (2)HashSet以对象作为元素,而HashMap ...

  4. Java 集合介绍,常用集合类

    Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: (1)Collection.一个独立元素的序列,这些元素都服从一条或多条规则.List必须按照插入的顺序保存元素,而Set不能有重 ...

  5. 「 深入浅出 」java集合Collection和Map

    本系列文章主要对java集合的框架进行一个深入浅出的介绍,使大家对java集合有个深入的理解. 本篇文章主要具体介绍了Collection接口,Map接口以及Collection接口的三个子接口Set ...

  6. Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例

    概要  前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对Linked ...

  7. Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例

    概要 上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解Arra ...

  8. Java 集合系列07之 Stack详细介绍(源码解析)和使用示例

    概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...

  9. Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例

    概要 这一章,我们对HashMap进行学习.我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap.内容包括:第1部分 HashMap介绍第2部分 HashMa ...

随机推荐

  1. vs2012中编译时出现程序集所使用的版本高于所引用的版本

    我在运行别人的项目时出现版本不兼容的问题:

  2. YAML初探

    http://www.cnblogs.com/chwkai/archive/2009/03/01/249924.html 1 概念YAML是一种人们可以轻松阅读的数据序列化格式,并且它非常适合对动态编 ...

  3. 浅谈一下缓存策略以及memcached 、redis区别

    缓存策略三要素:缓存命中率   缓存更新策略  最大缓存容量.衡量一个缓存方案的好坏标准是:缓存命中率.缓存命中率越高,缓存方法设计的越好. 三者之间的关系为:当缓存到达最大的缓存容量时,会触发缓存更 ...

  4. angularjs post

    /** * POST 1 * $http.post('http://localhost:8001/quickstart/task/create', { newTask: newTask }) */ / ...

  5. CentOS6.5 安装Zookeeper集群

    1.下载解压 2.配置环境变量:vi ~/.bashrc   或者   vi /etc/profile [hadoopuser@Linux01 ~]$ vi ~/.bashrc # zookeeper ...

  6. c#多线程生产者消费者(手稿)

    屋舍简陋,隔壁的娃娃哭了一晚,心中无恶意纯中性的想,有病就赶紧带孩子去看医生吧,能哭这么久估计孩子真的不舒服.

  7. 再谈visibility:hidden和display:none

    之前写过一篇有关visibility:hidden和display:none的文章:为什么要用用visibility:hidden;代替display:none;?主要是从浏览器性能方面入手,却没写两 ...

  8. ALV用例大全

    一.ALV介绍  The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允 ...

  9. Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结

    Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结 1. ,免杀技术的用途2 1.1. 病毒木马的编写2 1.2. 软件保护所用的加密产品(比如壳)中,有 ...

  10. SharePoint 2010 文档管理系列

    前言,这是自己第一次写一个系列的文档,本来想使用SharePoint 2013版本,但是碍于SharePoint 2013对于硬件要求过高,自己的笔记本无法承受,所以退而求其次选择了在SharePoi ...