Java常用链表(列表)操作

2012-04-08 23:02 / no comment / 10 views /

数据结构课程中有两种实现List的办法:一种是用指针实现链表;一种用数组实现列表。链表Java中由库LinkedList实现,数组实现的库为ArrayList。这两个实现方法也有大部分相同的接口函数,功能完整,我觉得没必要不要用那些特殊的接口函数。

LinkedList和ArrayList都是不带互斥(同步)的,也就是说多线程操作这两类List是要bug的。多线程中要用Vector,或者自己控制互斥的访问LinkedList或ArrayList。

一、创建List

1
2
3
4
5
6
7
import java.util.LinkedList;
import java.util.ArrayList;
import java.util.Vector;

List< E > linkedlist = new LinkedList< E >();
List< E > arraylist = new ArrayList< E >();
List< E > vectorlist = new Vector< E >();

二、插入元素

1
2
boolean add(E e); //加到末尾
void add(int index, E element);//加到第index处

不论哪种List都有这些相同的操作,但是可能会有性能上的差别:比如,LinkedList在中间追加的速度一般情况下比ArrayList快。
ArrayList也不用担心数组长度不够,这个库会自动增加和减小长度。

三、取出元素

1
2
3
E get(int index) ; //得到第index处元素,但是不会删除
E remove(int index) ; //删除第index处元素,并返回
boolean remove(int index) ; //删除第一个匹配的元素

Related Posts

  1. Java中常用集合类,接口
  2. 线性表
  3. 如何编译安装Go语言
  4. 通过饭否同步博客副标题
  5. 专利检索(Patent Search)
  6. Go语言文件操作
  7. Go语言中通过结构体匿名字段实现方法的继承和重载
  8. WordPress模板制作常用函数和代码
  9. Go语言结构体与二进制数组转换
  10. Go语言中的方法(Method Sets)

Get a Trackback link

No Comments Yet

You can be the first to comment!

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>