86038

Java:集合之List

三种集合(collection)

List:有序的

Set:保证没有重复元素

Map:使用的是键值对

集合的遍历:

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

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

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

List集合:

继承图

<h2>List的实现类1:ArrayList</h2>

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

它的api有:

<ul><li>在末尾添加一个元素:void add(E e)</li> <li>在指定索引添加一个元素:void add(int index, E e)</li> <li>删除指定索引的元素:int remove(int index)</li> <li>删除某个元素:int remove(Object e)</li> <li>获取指定索引的元素:E get(int index)</li> <li>获取链表大小(包含元素的个数):int size()</li> </ul><h2>List的实现类2:ArrayList</h2>

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

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

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

List转换为数组:

有三种方法:

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

数组转化为List:

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

来源:51CTO

作者:鱼摆摆不是鱼伯伯

链接:https://blog.csdn.net/qq_38198467/article/details/100125527

Recommend