Java学习笔记(2)

二. java中的集合

image.png

Collection和Iterator接口

Collection是List、Set、和Queue接口的父接口。该接口定义有如下通用方法

  • boolean add(Object o) :向集合中加入一个对象的引用
  • void clear():删除集合中所有的对象,即不再持有这些对象的引用
  • boolean isEmpty() :判断集合是否为空
  • boolean contains(Object o) : 判断集合中是否持有特定对象的引用
  • Iterartor iterator() :返回一个Iterator对象,可以用来遍历集合中的元素
  • boolean remove(Object o):从集合中删除一个对象的引用
  • int size() :返回集合中元素的数目
  • Object[] toArray() : 返回一个数组,该数组中包括集合中的所有元素
    关于Iterator()toArray()方法都用于集合的所有的元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组

1. Set集合

集合是无序的,不能记住添加元素的顺序。也不能添加重复元素

HashSet类

按Hash算法来存储集合中的元素,具有很好的存取和查找性能。

  • 集合中的元素可以为null
  • 不能同步,多线程访问时,必须通过代码来保证其同步。
  • 判断元素相等的标志是equals()方法比较相等,并且两个对象的hashCode()也相等。
    LinkedHashSet:使用链表维护集合中的顺序,可以按添加的顺序访问集合。

TreeSet类

TreeSetSortedSet接口的实现,可以确保元素处于排序状态。采用红黑树的数据结构存储。

  • 自然排序:将元素集合按升序排列
  • 定制排序:在创建TreeSet时,需要传入一个Comparator对象。
  • 将一个对象添加在TreeSet中,该对象必须实现Comparable接口。
  • 添加的元素应该是同一个类
  • TreeSet判断对象不相等的唯一标准是:compareTo()返回0,不是看equals()

EnumSet类

是有序的,顺序是按枚举类内部定义的顺序排列。
以位向量的形式存储,占用空间小,运行效率高。

2. List集合

List集合有序、可重复。元素在指定连续的索引上,索引从0开始。

  • Vector 不常用,比较久。线程安全的

3. Queue集合

用于模拟队列,先进先出。通常不允许随机访问队列内元素。

PriorityQueue实现类

不是按加入顺序排序,而是按照元素大小进行排序

ArrayDeque实现类

即可以当做队列,也可以当做栈使用。

LinkedList实现类

可以和list一样随机访问,也可以当做栈、队列使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构如栈,队列等,Java集合还可以用于保存具有映射关...
    小徐andorid阅读 6,060评论 0 13
  • 四、集合框架 1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串。生活中很多数据的描述都采...
    佘大将军阅读 4,179评论 0 2
  • 今日任务1、TreeSet介绍(掌握TreeSet集合的应用)2、Comparable 接口介绍(掌握)3、Com...
    Villain丶Cc阅读 5,848评论 0 1
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,434评论 0 3
  • 有了第一次就盼着第二次。有了第一次的匆匆和惶惑,第二次就从容得多了。 2018年的第一场雪,我站在教室里艳羡着。真...
    我要飞_eaa1阅读 3,276评论 3 5

友情链接更多精彩内容