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

    加油啦!加油鸭,冲鸭!!!
  • 相关阅读:
    批量插入测试脚本
    Show Profile分析sql语句的资源消耗
    慢查询日志
    ORDER BY优化
    Join查询
    Explain(执行计划)分析
    索引
    MySQL中的DML(数据操作语言)和DQL(数据查询语言)
    MySQL中的DDL(数据定义语言)和DCL(数据控制语言)
    MySQL架构体系介绍
  • 原文地址:https://www.cnblogs.com/clarencezzh/p/5087079.html
Copyright © 2011-2022 走看看