Java:集合之List

三种集合(collection)

List:有序的

Set:保证没有重复元素

Map:使用的是键值对

集合的遍历:

统一使用迭代器的方式来访问集合;(Iterator)

iterator包含两个方法,一个是hasNext,判断是否有下一个元素,next()返回下一个元素。

一般使用foreach,只要是这个集合实现了iterator接口,java都会帮我们使用iterator来遍历集合,因为这样是最高效的。

List集合:

继承图

List的实现类1:ArrayList

操作ArrayList其实就和操作数组一样的。它的内部就是使用的数组实现的。

它的api有:

  • 在末尾添加一个元素:void add(E e)
  • 在指定索引添加一个元素:void add(int index, E e)
  • 删除指定索引的元素:int remove(int index)
  • 删除某个元素:int remove(Object e)
  • 获取指定索引的元素:E get(int index)
  • 获取链表大小(包含元素的个数):int size()

List的实现类2:ArrayList

这个内部使用的就是单链表实现的。

它的api接口和ArrayList是一样的,只不过他们的算法效率和性能是有差别的。一般情况下我们首先使用ArrayList

注意点:List是有序的,同时他是可以重复添加元素的。List还能添加null;

List转换为数组:

有三种方法:

  • 调用toArray()方法直接返回一个Object[]数组:使用这个方法会丢失类型信息,就是原来里面装的是什么类型的数据我们不知道了
  • 第二种方式是给toArray(T[])传入一个类型相同的ArrayList内部自动把元素复制到传入的Array中:
  • 通过List接口定义的T[] toArray(IntFunction<T[]> generator)方法

数组转化为List:

使用Arrays.asList(array),即可把数组转化为List集合;这里转化过来的List只读,不要对他进行增删改操作。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值