java中List集合及其遍历详解
程序员文章站
2024-03-04 14:31:41
1. 首先list集合继承与collection,是一个接口。
① collection (集合...
1. 首先list<e>集合继承与collection<e>,是一个接口。
① 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()); } } }
效果图:
以上为 先进先出,若要改为先进后出,则根据代码中写的改一下就可以了
以上所述就是本文的全部内容了,希望大家能够喜欢。