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. Winform开发框架之权限管理系统改进的经验总结(2)-用户选择界面的设计

    在上篇总结随笔<Winform开发框架之权限管理系统改进的经验总结(1)-TreeListLookupEdit控件的使用>介绍了权限管理模块的用户管理部分,其中主要介绍了其中的用户所属公司 ...

  2. 文本对象模型(Document Object Model)

    本文内容: 1. 概述 2. DOM中的节点类型 3. DOM节点的选取 4. 存取元素属性 5.DOM元素的增删 6.小结 ★ 概述 文本对象模型(DOM)是一个能够让程序和脚本动态访问和更新文档内 ...

  3. 那晚征服的一道js经典的面试题

    今天朋友共享了一道js中经典的面试题,需求是这样的 给定你任意一个字符串,让你写出一个算法,求算出该字符串中出现次数最多的一个字符,并将其结果输出 刚拿到这道题的第一感觉便是定义一个count计时器, ...

  4. 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性

    [索引页][源码下载] 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性 作者:webabcd 介绍asp.net mvc 之 asp.net mvc 5.0 新 ...

  5. 从几篇文字得到关于web app开发的性能问题的答案

    1. http://blogs.adobe.com/creativecloud/are-mobile-web-apps-slow/ 2. http://software.intel.com/zh-cn ...

  6. 批量导数据之利器-load data[2016-07-11]

    由于天热,中午吃完饭后不再去逛了,感觉这段时间其实也是可以利用起来的,所以决定每天中午积累一些小的知识点.今天中午,先总结一下最近造数据用到手命令,load data. 使用这个命令的起源是因为最近要 ...

  7. 使用R的networkD3包画可交互的网络图

    d3network包code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs & ...

  8. 中国快递包裹总量的预测-基于SARIMA模型

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  9. mysql 数据类型,字符集

    数据类型 1,数值类型2,字符串类型3,日期和时间4,ENUM和SET5,几何数据类型   数据类型选项 unsigned   无负值 zerofill        数值显示有影响,会前置0来填充不 ...

  10. [CLK Framework] CLK.Settings - 跨平台的参数存取模块

    [CLK Framework] CLK.Settings - 跨平台的参数存取模块 问题情景 开发功能模块的时候,常常免不了有一些参数(例如ConnectionString),需要存放在Config檔 ...