zoukankan      html  css  js  c++  java
  • 2014年4月5日 java集合框架总结2--List接口及其子类

    List接口

    Collection接口的子接口,可以使用Collection中全部方法。

    有序集合,元素有索引,元素可以重复

    List:特有的常见方法:有一个共性特点就是都可以操作角标。
    1,添加
        void add(index,element):
       boolean addAll(int index, Collection c):

    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;
    
    /**
     * List接口及其子类
     * 2014-4-6
     * @author Administrator
     *
     */
    public class ListDemo {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            List l1=new ArrayList();
            List l2=new ArrayList();
            show(l1,l2);
    
        }
        public static void show(List l1,List l2){
            //添加元素 
            l1.add(0, "123");
            l1.add(1, "mno");
            l1.add(2, "abc");
            l1.add(3, "mno");
            System.out.println(l1);
    
            l2.add("789");
            l2.add("456");
            l2.addAll(1,l1 );
            System.out.println(l2);
    
            //删除
            l2.remove(2);
            System.out.println(l2);
    
            //修改
            l2.set(4, "ijk");
            System.out.println(l2);
    
            //获取
            l2.add(3,"ijk");
            System.out.println(l2);
            System.out.println(l2.get(3));
            System.out.println(l2.indexOf("456"));
            //返回此列表首次出现元素的位置
            System.out.println(l2.indexOf("ijk"));
            //返回此列表最后出现元素的位置
            System.out.println(l2.lastIndexOf("ijk"));
            //返回从索引1开始(包含)到索引2位置前
            List l3=l2.subList(1, 4);
            System.out.println(l3);
        }
    
    }

    程序运行结果

    [123, mno, abc, mno]
    [789, 123, mno, abc, mno, 456]
    [789, 123, abc, mno, 456]
    [789, 123, abc, mno, ijk]
    [789, 123, abc, ijk, mno, ijk]
    ijk
    -1
    3
    5
    [123, abc, ijk]
    ListIterator

    Iterator的子接口,专供List接口使用

    元素所在容器容器有索引,可以逆向遍历

    特有方法:

    boolean hasPrevious()

    Object previous()

    void add(element)

    List接口下的常用集合类

    Vector:内部是数组数据结构,多个线程是同步的。增删,查询都很慢!(同步是以牺牲效率为代价的)
    ArrayList:内部是数组数据结构,多个线程是不同步的。替代了Vector。查询的速度快。
    LinkedList:内部是链表数据结构,多个线程是不同步的。增删元素的速度很快。

    Vector类下的子类Stack

    Stack:内部是栈数据结构,先进后出

  • 相关阅读:
    installanywhere制作java installation
    长文件名处理
    Hibernate+ehcache二级缓存技术
    如何在JSP里添加删除cookie
    收集java精确截取字符串
    在什么情况下可以定义static 方法?
    Hibernate2 到 Hibernate3 的问题
    出现java.lang.UnsupportedClassVersionError 错误的原因
    DMI指标又叫动向指标或趋向指标
    Tomcat下log4j设置文件路径和temp目录
  • 原文地址:https://www.cnblogs.com/shangshicc/p/3649023.html
Copyright © 2011-2022 走看看