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. css3中的zoom元素属性值测试

    在样式表里头看到zoom:1的设置,很是好奇就去找了一些资料发现关于这个的讲述还是比较少. 理论知识 语法: zoom:normal | <number> | <percentage ...

  2. 新的Visual C++代码优化器

    微软在 5 月 4 日发布了新的高级代码优化器,服务于 Visual C++ 的后端编译器.提高了代码性能,可以压缩代码体积,将编译器带入了一个新的境界. Visual C++ 的团队在博客上称,这将 ...

  3. fibonacci封闭公式

    Description 2007年到来了.经过2006年一年的修炼,数学神童zouyu终于把0到100000000的Fibonacci数列 (f[0]=0,f[1]=1;f[i] = f[i-1]+f ...

  4. jquery 全选 全不选 反选

    1.概述 在项目中经常遇到列表中对复选框进行勾选操作,全选...反选.. 2. example <html> <body> <form id="test-for ...

  5. PHP学习笔记:keditor的使用

    keditor时一个免费的开源编辑器,很多公司在使用(百度编辑器也不错).最近为了做一个客户信息管理系统,在发送邮件模块用到这个编辑器,也算学习一下新的东西. 第一步:下载编辑器 到它的官网下载:ht ...

  6. java微信开发(wechat4j)——设置响应微信参数

    设置响应微信参数 wechat4j框架官方文档: https://github.com/sword-org/wechat4j/wiki

  7. 一个Chrome拓展——HttpPost

    周末花了点时间做了一个chrome拓展,叫HttpPost,顾名思义是用来测试http的post请求. 先直接看效果 插件与拓展 在说这个做的过程前,先说明什么是Chrome插件.Chrome拓展 1 ...

  8. KindEditor编辑器在ASP.NET中的使用

    KindEditor编辑器在ASP.NET中的使用 最近做的项目中都有用到富文本编辑器,一直在寻找最后用的富文本编辑器,之前用过CKEditor,也用过UEditor,这次打算用 一下KindEdit ...

  9. SAP技术相关Tcode

    ABAP的常用tcode 开发----------------------------------------------- SE51  屏幕制作 SE91  MESSAGE OBJECT SE80  ...

  10. For循环语句的使用

    一.For循环语句 说明:For循环用于循环次数已经确定的情况下.  格式:for(循环变量赋初值; 循环条件; 循环变量增值)       {             ·····语句  } 举例:求 ...