1. 首先list1a4db2c2c2313771e5742b6debf617a1集合继承与collection1a4db2c2c2313771e5742b6debf617a1,是一个接口。
① collection (集合框架是jdk1.2版本出现的)
② list:是有序的,元素可以重复,以为该集合体系有索引。
经常用到的是实现该接口的arraylist和linkedlist类
③ arraylist: 底层的数据结构使用的是数组结构,
特点: 查询速度很快,但是增删稍慢。线程不同步
linkedlist: 底层使用的是链表数据结构。
特点: 增删速度很快,查询稍慢。
vector:(jdk1.0版本出现的) 底层是数组数据结构,线程同步。被arraylist替代了。(已经不用了)
2. list的两种遍历方式:
public class demo {
public static void main(string[] args) {
arraylist<string> list = new arraylist<string>();
list.add("a");
list.add("b");
list.add("c");
system.out.println("........第一种遍历方式:for遍历......");
for (object li : list) {
system.out.println(li);
}
system.out.println("........第二种遍历方式:listiterator迭代遍历......");
listiterator<string> it = list.listiterator();
while (it.hasnext()) {
object obj = it.next();
system.out.println(obj);
}
}
}
效果图:
3.使用linklist模拟一个堆栈或者队列数据结构。即: 堆栈:先进后出 ; 队列: 先进先出
class duilie{
private linkedlist<object> link;
duilie(){
link = new linkedlist<object>();
}
public void myadd(object obj){
link.addfirst(obj);
}
public object myget(){
return link.removelast();//先进先出---若要改成先进后出,将removelast()改成removefirst()
}
public boolean isnull(){
return link.isempty();
}
}
public class demo2 {
public static void main(string[] args) {
duilie dl = new duilie();
dl.myadd("java01");
dl.myadd("java02");
dl.myadd("java03");
dl.myadd("java04");
while(!dl.isnull()){
system.out.println(dl.myget());
}
}
}
效果图:
以上为 先进先出,若要改为先进后出,则根据代码中写的改一下就可以了
以上所述就是本文的全部内容了,希望大家能够喜欢。
更多java中list集合及其遍历详解。