集合框架使用

为什么使用集合:

集合存储数据时是没有长度限制的,是可以动态扩展的。集合容器因为内部的数据结构不同,有多种不同的容器对象。这些容器对象不断的向上抽取,就形成了集合框架。

1.ArrayList

特点:

  • 实现了List接口
  • 可以动态扩容(我们只管存,长度不够,底层会自动的扩容)
  • 通过下标可以快速访问数据
  • 查找快,插入删除慢
  • ArrayList底层是数组,对数组做了封装
  • 可以存储任意类型的数据,包括null
  • 数据按照存储次序排列
  • 数据可以重复
  • 多线程访问时不安全

1.1ArrayList创建

ArrayList是一个类,要实现里面的功能,需要创建对象。有三种创建方式。

List和ArrayList方式性质一样,但是Collection不能实现关于下标的功能。

1.2ArrayList集合的功能

1.2.1添加操作

关键字 集合名.add();

add的四个功能:

1.2.2添加功能的实现

1.3.1 ArrayList删除功能,关键字remove:有三种方式

 1.3.2   remove功能的例子

1.4.1 更改集合中的元素    关键字(get)

1.5.1 查询元素   关键字(get)

1.3 遍历集合

2.1. LinkedList  集合

特点:跟ArrayList差不多,添加元素的时候多了在头部添加元素  关键字(addFirst),在集合最后添加元素(addLast)。

3.Set接口

特点:

  • Set接口是无序的
  • Set接口中的数据不允许重复
  • Set接口无法通过下标访问数据
  • 查找慢,插入删除快(底层数据结构是哈希表和红黑树)
  • Set集合使用equals()和hashCode()方法实现元素去重

3.1HashSet集合

继承了Set接口

特点:

  • HashSet是Set接口的实现类
  • 线程不安全
  • 因为没有下标,所以没有查询功能(失去了关于下标的功能)
  • 有自己排序方式(根据Hash或值得下标,有可能获得下标相同)

3.2 HashSet集合创建

有三种创建方式   两个接口变量,一个类对象

3.2.1 add添加元素

3.2.2 删除  关键字(remove)

例子

3.3HashSet遍历

遍历有两种foreach和迭代器遍历

 4.1TreeSet集合

特点:元素不可重复,需要自己定义排序方式(1.对象类实现Comparable接口进行排序     2.自定义排序类实现Comparator接口进行排序)

  • 有序
  • 不重复
  • 添加、删除、判断元素存在性效率比较高
  • 线程不安全
  • 1) 如果是基本数据类型和String类型,无需其它操作,可以直接进行排序。

    2) 对象类型元素排序,需要实现Comparable接口,并覆盖其compareTo方法。

    3) 自己定义实现了Comparator接口的排序类,并将其传给TreeSet,实现自定义的排序规则。

4.2 TreeSet集合实现

功能跟HashSet集合的功能差不多,多了一个排序方式。可以自己定义排序方式。添加对象元素时需要自己定义排序方式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值