投稿 资料上传 搜索
您现在的位置是: 首页 > 文章 > 正文

Java list集合的使用介绍

介绍

    List是Java中比较常用的集合,它属于接口,继承自Collection接口。同时List接口有很多实现类,比如说:ArrayList、LinkedList,Vector;(注:这是在List集合中很常用的三个实现类)下面就来带大家了解一下Java中list的基本使用。

集合关系图


list集合常用方法

//添加
void add(String item)
//指定位置插入元素,后面的元素都往后移一个元素。
void add(int index, E element)
//在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false
boolean addAll(int index, Collection<? extends E> c)
//返回list集合中指定索引位置的元素
E get(int index)
//返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1
int indexOf(Object o)
//返回此列表元素的列表迭代器
ListIterator<E> listIterator()
//从指定位置开始,返回此列表元素的列表迭代器
ListIterator<E> listIterator(int index)
//删除指定索引的对象
E remove(int index)
//在索引为index位置的元素更改为element元素
E set(int index, E element)
//返回从索引fromIndex到toIndex的元素集合,包左不包右
List<E> subList(int fromIndex, int toIndex)

方法的使用

    以ArrayList举几个方法的示例:

List<String> person=new ArrayList<>();
person.add("jackie"); //索引为0 //.add(e)
person.add("peter"); //索引为1
person.add("annie"); //索引为2
person.add("martin"); //索引为3
person.add("marry"); //索引为4
person.remove(1); //.remove(index)
person.remove("marry"); //.remove(Object o)
String per="";
per=person.get(1);
System.out.println(per); ////.get(index)
for (int i = 0; i < person.size(); i++) {
System.out.println(person.get(i)); //.get(index)
}

常用实现类ArrayList、LinkedList和Vector之间的关系和区别

    1.ArrayList底层是用数组实现的,大家可以认为ArrayList是一个可改变大小的数组。其数组中查询和赋值比较快,因为可以直接通过数组下标访问指定位置;

    2.LinkedList底层是通过双向链表实现的。所以,LinkedList和ArrayList之前的区别主要就是数组和链表的区别。链表中删除和增加比较快,因为可以直接通过修改链表的指针(Java中并无指针,这里可以简单理解为指针。其实是通过Node节点中的变量指定)进行元素的增删。

    3.Vector和ArrayList一样,都是通过数组实现的,但是Vector是线程安全的。和ArrayList相比,其中的很多方法都通过同步(synchronized)处理来保证线程安全。

综上几个特点:

    ArrayList查询添加速度快,线程不安全;LinkedList修改删除速度快,线程不安全;Vector线程安全,但效率低。

总结

    通过以上对Java list的讲解,想必大家都对Java list的使用以及Java list实现类有了一个基本的认识。后续还有更多关于编程知识分享给大家。上期内容:java数组的使用

转载于:

文章标签:
阿里云服务器采购季
给作者打赏,鼓励TA抓紧创作!
评论