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. Aspose.Word 操作word表格的行 插入行 添加行

    rows.insert或rows.add前row必须有单元格cell private void button3_Click(object sender, EventArgs e) {         ...

  2. C#十五子游戏

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. spring中的DisposableBean和InitializingBean,ApplicationContextAware的用法

    在spring容器初始化bean和销毁bean的以前的操作有很多种, 目前我知道的有:在xml中定义的时候用init-method和destory-method,还有一种就是定义bean的时候实现Di ...

  4. [moka同学笔记]yii2.0导航栏

    导航栏 <?php use yii\helpers\Url; /** * $navbar说明 * label:显示的标签 * url:跳转地址 * action:判断激活的操作 * class: ...

  5. 【使用 DOM】使用 DOM 元素

    1. 使用元素对象 HTMLElement对象提供了一组属性,可以用它们来读取和修改被代表的数据.下表介绍了这些属性. 下面代码展示了如何使用表中所列的一些基本属性. <!DOCTYPE htm ...

  6. C#加密算法总结

    C#加密算法总结 MD5加密 /// <summary> /// MD5加密 /// </summary> /// <param name="strPwd&qu ...

  7. GridView自带的分页功能实现

    要实现GrdView分页的功能操作如下:1.更改GrdView控件的AllowPaging属性为true.2.更改GrdView控件的PageSize属性为 任意数值(默认为10)3.更改GrdVie ...

  8. 转:使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)

    http://www.cnblogs.com/WayneLiu/p/5060277.html 前言:重装系统前我使用的是vs2015(有点装*),由于使用2015实在在班上太另类了, 导致我想在其他同 ...

  9. JAVA- File类

    File类是IO包中唯一代表磁盘文件本身的对象.File类定义了一些与一台无关的方法来操作文件,可以通过调用File类中的方法,实现创建.修改.删除文件等功能.File类的对象主要用来获取文件本身的一 ...

  10. 自定义cell

    思路就是创建模型,自定义cell,然后在主控制器中完成,首先要观察plist文件: Contact.h #import <Foundation/Foundation.h> @interfa ...