集合框架

Collection

Collection集合是单列集合的顶层接口。Collection表示一组对象,这些对象也称为Collection的元素。该集合的数据结构(简单记就是数据的存储方式)对集合元素有效。

List

元素是有序的,元素可以重复。因为该集合体系有索引。

  • ArrayList
    底层的数据结构使用的是数组结构。
    特点:查询速度很快,但是增删稍慢。
  • LinkedList
    底层使用的链表数据结构。特点:增删速度很快,查询稍慢。
  • Vector
    底层是数组数据结构。
Set

元素不可以重复。

  • HashSet
    元素无序,底层数据结构是哈希表

如何保证元素唯一性呢?

是通过元素的HashCode值相同,才会判断equals方法是否为true
如果元素的HashCode值不同,就不会调用equals方法
注意
对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashcode和equals方法

  • TreeSet
    元素有序,默认按自然顺序,可以对Set集合中的元素进行排序。
    底层数据结构是二叉树,保证元素唯一性的依据:compareTo方法return 0。
    TreeSet排序的第一种方式:
    让元素自身具备比较性,这种方式也成为元素的自然顺序,或者叫做默认顺序。
    TreeSet第二种排序方式:
    当元素自身不具备比较性时,或者具备的比较性不是所需要的,这时就需要让集合自身具备比较性。
    定义一个类,实现Comparator接口,覆盖compare方法。

Map

该集合存储键值对,一对一对往里存,而且保证键的唯一性。

  • Hashtable
    底层是哈希表数据结构,不可以存入null键null值,该集合是线程同步的,jdk1.0,效率低。

  • HashMap
    底层是哈希表数据结构,允许使用null键和null值,该集合是不同步的,jdk1.2,效率高。

  • TreeMap
    底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序
    和Set很想,其实Set底层就是使用了Map集合。

  • map集合的两种取出方式
    1、keySet
    将map中所有的键存入到Set集合,因为Set具备迭代器,所以可以迭代方式取出所有的键,在根据get方法,获取每一个键对应的值。
    2、entrySet
    Set<Map.Entry<k,v>> entrySet
    将map集合中的映射关系存入到了set集合中,而这个关系的数据类型就是:Map.Entry,其实Entry是Map接口中的一个内部接口。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址 Java集合 Java集合框架:是一种工具类,就像是一个容器可以存储任意数量的具有共同属性的对象。 Ja...
    gyl_coder阅读 998评论 0 8
  • 一、集合框架的概述 1、概述: 1、简述:所谓集合,就是为方便对多个对象的操作,对对象进行存储。集合就是存储对象最...
    玉圣阅读 537评论 0 4
  • 转载自:Java集合框架实例 1- 介绍 集合是程序和语言的基本思想。应用程序通常都会应用到集合,例如雇员的信息,...
    01_小小鱼_01阅读 443评论 0 1
  • 5分钟搞定java集合框架 java集合就是一个容器。 集合概述 l 为了保存 不确定的数据,或者对象...
    wangchuang2017阅读 470评论 0 0
  • 愉快的假期结束啦,贺靖翔的寒假生活真是丰富多彩啊。每天及时完成读书、背古诗、写字帖等寒假作业,坚持弹钢琴、...
    carterone阅读 665评论 0 0