来告诉你JavaSE中Collection集合体系是什么鬼?

@[TOC] Java集合体系
首先集合是:一种操作比较便利的对象容器 可以用于存储多个对象(工具)位于Java.util包中。

Colletion 集合体系

根接口:Collection 常用方法 (以下表述中方法名前内容为返回值类型)
1 add(Object obj); 返回值类型boloean 往集合中添加一个元素 成功return true 失败返回false
2 void ;clear();清空集合元素
3 boolean ;contains(Object obj)判断当前集合是否包含元素obj
4 boolean ;isEmpty(); 判断集合是否为空
5 boolean ;remove(Object o) 将指定对象从当前 集合中删除 成功 返回true 不成功返回false
6 int ;size() 返回集合中元素的个数
需要注意的是Colletion 具有多个子接口 没有直接实现类 其便利方式见子接口

Colletion子接口List

1 特点 存储任意类型的对象 有序 有下标元素可以重复 List集合下标的范围0~size-1;
2 功能方法 :继承于父接口Collection中的方法 如add() size() 等 同时定义了一些独特的方法。
1 viod ;add(int index,Object o) 在当前集合指定位置 插入元素o
2 boolean ;addAll(int index,Collection c) 在指定位置一次插入多个元素
3 Object ;get(int index);返回指定下标的元素
4 Object ;remove(int index):返回集合中指定位置元素,被删除的元
素作为返回值返回。
⑤ Object ;set(int index,Object o):用o替换集合指定位置的
元素,被替换的元素作为返回值返回。
⑥ List ;subList(int from index , int toIndex):从当前集合中
截取指定元素,从 fomIndex开始截取,截取到toIndex-1
3 实现类:ArrayList (重点)
底层用数组实现,查询效率较高,增(插入)删效率较慢 JDK1.2版本,线程不安全,执行效率较高。
注意:创建ArrayList对象时,底层数组并没有完成初始化,
长度为0,当第一次调用 add方法时,代表实际意义使用ArrayList集
合存储对象,底层数组才初始化,空间默认长度为 10,当存储对象达
到数组上限,自动完成扩容,每一次扩容倍数为 1.5倍(如果出现小
数区取整数位的长度)
② Vector(老古董基本不用):底层数组实现,查询效率较高,增(插入)删效率较慢;JDK1.0版本,线程安全,效率较低。
LinkedList底层用链表实现,查询效率比较低,增(插入)删效率较高
线程不安全,运行效率较高。

(4)集合的遍历 下标遍历 forEach 遍历(重点) 迭代器遍历(下个文章细说)
4. Collections工具类
(1) 位于java.util包中对集合元素进行操作的工具类
(2) 功能方法:
a. static void reverse(List list):将集合中元素进行倒置
b. static void shuffle(List list):对集合中元素进行随机显示
c. static void sort(List list):对集合元素进行排序。
注意:如果参与排序的集合中存储的是自定义类型的对象,
则对象对应类需要实现 java.lang.Comparable接口,同时实
现接口中 compareTo方法指定排序规则。

子接口Set

特点:存储任意类型的对象,无序、无下标、元素内容不
可以重复。
(2) 方法:继承于 父接口Collection中的方法。
往集合中添加元素 add(Object o)
(3) 实现类:HashSet
如果自定义类型的对象往 HashSet中存储,为了保证元素内
容不重复,需要做到以下两点: 【开发应用重点】
① 覆盖 hashCode方法② 覆盖 equals方法:
(4) Set集合其他的实现类:
LinkedHashSet:是HashSet的子类,去除重复元素,同
时可以按照元素添加顺序操作元素。如果自定类型的元素存
储在LinkedHashSet中,为了保证元素内容不重复,存储元
素对应类中需要覆盖 hashCode方法和 equals方法。
② **TreeSet:**是SortedSet接口的实现类,SortedSet是Set的
子接口可以对集合中元素按照内容进行排序。
注意:如果TreeSet集合中存储的是自定义类型的对象,则
对象对应的类需要实现 java.lang.Comparable接口,同时实
现 compareTo方法;TreeSet保证元素不重复,取决
compareTo方法的返回值,返回值为0,代表内容相同的元
素,直接拒绝添加到TreeSet集合中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值