首页 > 学院 > 开发设计 > 正文

List集合即其遍历

2019-11-15 00:47:14
字体:
来源:转载
供稿:网友
List集合即其遍历

1.首先List<E>集合继承与Collection<E>,是一个接口。

① Collection (集合框架是JDK1.2版本出现的)

② list:是有序的,元素可以重复,以为该集合体系有索引。

     经常用到的是实现该接口的ArrayList和LinkedList类

③ Arraylist: 底层的数据结构使用的是数组结构,

      特点: 查询速度很快,但是增删稍慢。线程不同步

LinkedList: 底层使用的是链表数据结构。

      特点: 增删速度很快,查询稍慢。

Vector:(JDK1.0版本出现的) 底层是数组数据结构,线程同步。被ArrayList替代了。(已经不用了)

2. List的两种遍历方式:

 1 public class Demo { 2     public static void main(String[] args) { 3         ArrayList<String> list = new ArrayList<String>(); 4         list.add("A"); 5         list.add("B"); 6         list.add("C"); 7          8         System.out.PRintln("........第一种遍历方式:for遍历......"); 9         for (Object li : list) {10             System.out.println(li);11         }12         13         System.out.println("........第二种遍历方式:ListIterator迭代遍历......");14         ListIterator<String> it = list.listIterator();15         while (it.hasNext()) {16             Object obj = it.next();17             System.out.println(obj);18         }19     }20 }

效果图:

效果图

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());        }    }}

效果图:

    

以上为 先进先出,若要改为先进后出,则根据代码中写的改一下就可以了


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表