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

效果图:

     

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

时间: 2024-12-19 02:56:52

List集合即其遍历的相关文章

集合的嵌套遍历

1.需求 我们班有学生,每一个学生是一个对象,那么我们可以用一个集合表示我们班级的学生ArrayList<Student>,但是呢?一个年级不可能只有一个班级,其他班级也是ArrayList<Student>.但是我现在如何用集合存储一个年级的学生呢.就像这样存储ArrayList<ArrayList<Student>> 2.图解 3.代码实现 package cn; import java.util.ArrayList; /**  * 集合的嵌套遍历   

Java集合01----ArrayList的遍历方式及应用

                                             Java集合01----ArrayList的遍历方式及应用 1.ArrayList的遍历方式 a.一般for循环(随机访问) Integer value = null; int size = list.size(); for (int i=0; i<size; i++) { value = (Integer)list.get(i); } b.增强型for循环(for-each) Integer value

集合框架(集合的遍历之集合转数组遍历)

Collection接口成员方法 Object[] toArray() 把集合转成数组,可以实现集合的遍历 Iterator iterator() 迭代器,集合的专用遍历方式  package cn.itcast_01; import java.util.ArrayList; import java.util.Collection; /*  * 集合的遍历.其实就是依次获取集合中的每一个元素.  *   * Object[] toArray():把集合转成数组,可以实现集合的遍历  */ pub

JAVA中集合转数组遍历

JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) {        // TODO Auto-generated method stub        Collection c=new ArrayList();        c.add(new Student("kj",12));        c.add(new Student("uj

集合框架(List集合的特有遍历功能)

package cn.itcast_03; import java.util.ArrayList;import java.util.List; /* * List集合的特有遍历功能: *   size()和get()方法结合使用 */public class ListDemo2 { public static void main(String[] args) {  // 创建集合对象  List list = new ArrayList(); // 添加元素  list.add("hello&q

java----数据结构与算法----集合元素的遍历:迭代器--------&gt;JavaAPI:java.util.Iterator+java.util.ListIterator

概述: 迭代器用于集合元素的遍历 迭代器有两种,分别是Iterator和ListIterator Iterator可以用于任何类型集合的遍历 ListIterator只能用于List集合的遍历 ListIterator接口继承了Iterator接口,所以前者拥有后者所定义的所有成员函数,同时,ListIterator还添加了一些具有List集合特性的操作函数,如按照索引访问集合元素.替换/添加集合元素等等 java.util.Iterator /** * @author chen * @date

Java集合02----LinkedList的遍历方式及应用

                                          Java集合02----LinkedList的遍历方式及应用 前面已经学习了ArrayList的源码,为了学以致用,故列举一些ArrayList的遍历方式及应用.JDK源码学习系列05----LinkedList 1.LinkedList的遍历方式 a.一般的for循环(随机访问) int size = list.size(); for (int i=0; i<size; i++) { list.get(i);

java 15-4 集合的专用遍历工具 迭代器

Iterator iterator():迭代器,集合的专用遍历方式 A:Object next():获取元素,并移动到下一个位置. 有时候会出现这样的错误: NoSuchElementException:没有这样的元素,因为你已经找到最后了. B:boolean hasNext():如果仍有元素可以迭代,则返回 true. 问题1:能用while循环写这个程序,我能不能用for循环呢? for(Iterator it = c.iterator();it.hasNext();){ Student

使用yield关键字让自定义集合实现foreach遍历

一般来说当我们创建自定义集合的时候为了让其能支持foreach遍历,就只能让其实现IEnumerable接口(可能还要实现IEnumerator接口) 但是我们也可以通过使用yield关键字构建的迭代器方法来实现foreach的遍历,且自定义的集合不用实现IEnumerable接口 注:虽然不用实现IEnumerable接口 ,但是迭代器的方法必须命名为GetEnumerator() ,返回值也必须是IEnumerator类型 实例代码以及简单说明如下: 1 class Person 2 { 3

【集合的嵌套遍历】

package com.yjf.esupplier.common.test; import com.yjf.common.util.ToString; import java.util.ArrayList; /** * @author shusheng * @description 集合的嵌套遍历 * @Email [email protected] * @date 2018/12/13 17:54 */ public class ArrayListDemo { public static vo