zoukankan      html  css  js  c++  java
  • List

    List:有序(存入和取出的顺序一致),元素都有索引(角标),允许重复元素。

    常用方法:

    1、添加
         void add(index,element);
         void addAll(index,collection);
    2、删除
        Object remove(index);
    3、修改
         Object set(index,element);
    4、获取:
         Object get(index);
         int indexOf(object);
         int lastIndexOf(object);
         List subList(from,to);

    import java.util.ArrayList;
    import java.util.List;
    
    public class ListDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            List list=new ArrayList();
            //添加
            list.add("a");
            list.add("b");
            System.out.println(list);
            
            //插入
            list.add(2, "c");
            System.out.println(list);
            
            //删除
            list.remove(1);
            System.out.println(list);
            
            //修改元素
            System.out.println(list.set(0, "d"));
            
            //获取元素
            System.out.println(list.get(1));
            
            //获取子列表
            System.out.println(list.subList(1, 2));
            
            System.out.println(list);
            
        }
    
    }

    遍历List

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    import org.junit.Test;
    
    public class ListDemo1 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            List list=new ArrayList();
            
            list.add("a");
            list.add("b");
            list.add("c");
            System.out.println(list);
            
            Iterator it=list.iterator();
            while(it.hasNext()){
                System.out.println(it.next());
            }
        }
        @Test
        //在迭代器过程中,不要使用集合操作元素,容易出现异常:java.util.ConcurrentModificationException。
        //可以使用Iterator接口的子接口ListIterator来完成在迭代中对元素进行更多的操作。
        public void test() {
    
            List list = new ArrayList();
    
            list.add("a");
            list.add("b");
            list.add("c");
            System.out.println(list);
    
            Iterator it = list.iterator();
            while (it.hasNext()) {
                Object obj=it.next();
                if(obj.equals("a")){
                    list.add("f");
                }
            }
            System.out.println(list);
        }
    }

    List:
           |--Vector:内部是数组数据结构,是同步的。增删,查询都很慢。线程安全
           |--ArrayList:内部是数组数据结构,是不同步的,替代了Vector。替代了Vector,查询的速度快。线程不安全
           |--LinkedList:内部是链表数据结构,是不同步的。增删元素的速度很快。线程不安全

    LinkedList方法:
    addFirst();
    addLast();
    jdk1.6版本后新方法:
    offerFirst();与addFirst方法没有区别。
    offerLast();与addLast方法没有区别。
    ---------------------------------------------------------
    getFirst();//获取但不移除,如果链表为空,抛出NoSuchElementException。
    getLast();
    jdk1.6版本后新方法:
    peekFirst();//获取但不移除,如果链表为空,返回null。
    peekLast();
    --------------------------------------------------------
    removeFirst();//获取并移除,如果链表为空,抛出NoSuchElementException。
    removeLast();
    jdk1.6版本后新方法:
    pollFirst();//获取并移除,如果链表为空,返回null;
    pollLast();

    加油啦!加油鸭,冲鸭!!!
  • 相关阅读:
    Windows 7的 磁盘管理中,某个磁盘或分区,突然变成只读。
    Python 静态变量 与 静态方法
    如何用手机上网给电信固话充值
    Windows,查看进程的连接的IP地址,批量模式,最后做成Excel
    如果在VMware上免费下载驱动
    DELL iDRAC 远程虚拟机报错:虚拟介质分离或所选虚拟磁盘驱动器的虚拟介质重定向已由另一用户使用
    Windows Server 2008安装 百度Wifi 360Wifi 小米Wifi 失败的解决方法
    让Windows 8 / 8.1 以及 Windows Server 2012 / 2012 R2的桌面,显示我的电脑图标
    让Windows 8 / 8.1 以及 Windows Server 2012 / 2012 R2的任务管理器的性能面板,显示磁盘数据
    企业CIO、CTO必读的34个经典故事
  • 原文地址:https://www.cnblogs.com/clarencezzh/p/5087079.html
Copyright © 2011-2022 走看看