zoukankan      html  css  js  c++  java
  • Java——List集合

      List 作为 Collection 的子接口,当然可以使用Collection 接口里的全部方法。而且由于 List 是有序集合,因此 List 集合里增加了一些根据索引来操作集合元素的方法。List 是线程不安全的

    》ArrayList

      ArrayList 作为 List 接口的实现类,存储的是一组不唯一,有序的(插入顺序)的对象,ArrayList 实现了长度可变的数组,在内存中分配连续空间。遍历元素 和随机访问元素效率比较高。

          

            

    public static void main(String[] args) {
            
            //创建 List 对象
            List list =new ArrayList();
            
            //添加元素
            list.add(new String("小红"));
             list.add(new String("小明"));
            list.add(new String("小兰"));
            list.add(new String("小花"));
            
            //将元素插入到指定的位置         下标从0开始
            //list.add(2, new String("小花"));
    
            //返回指定元素在集合中第一次出现的索引
            System.out.println(list.indexOf("小花"));   //输出 2 
            
            //返回指定元素在集合中最后一次出现的索引
            System.out.println(list.lastIndexOf("小花"));  //输出 4 
            
            //将指定索引的元素替换成新元素,返回被替换的旧元素
            System.out.println(list.set(3, "小雪"));
            
            //返回从索引1(包含)到索引3(不包含)处所有集合元素组成的子集合。
            System.out.println(list.subList(1, 3));
            
            //删除指定位置的元素,也可以按照对象删除
            list.remove(1);
            
            //遍历集合,拿到集合中的元素
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
            
            //使用 iterator 迭代集合
            Iterator lit=list.iterator();
            
            while(lit.hasNext()){
                System.out.println(lit.next());
            }
            
        }

    》LinkedList

      LinkedList 类也是 List 接口的实现类,也实现了 List 的优点,可以根据索引来随机访问集合中的元素。LinkedList是以链表形式存储数据的。插入、删除元素时效率比较高。除此之外,LinkedList 还实现了 Deque接口,可以被当成双端队列来使用,用词即可以被当成 “栈” 来使用,也可以当成队列使用。

            

    public static void main(String[] args) {
            
            LinkedList list=new LinkedList();
            
            list.add(new String("小红"));
             list.add(new String("小明"));
            list.add(new String("小兰"));
            list.add(new String("小花"));
            
            
            list.addFirst("张无忌");  //在列表首部添加元素
            
            list.addLast("小鱼儿");  //在列表尾部添加元素
            
            System.out.println(list.getFirst());   //返回列表的第一个元素
            
            System.out.println(list.getLast());    //返回列表的最后一个元素
            
            System.out.println(list.removeFirst());  //删除并返回列表中的第一个元素
            
            System.out.println(list.removeLast());   //删除并返回列表的最后一个元素
            
        }
  • 相关阅读:
    POJ
    Fence Repair POJ
    COGS 2096. 不平凡的许愿树
    COGS 2095. 不平凡的引线
    BZOJ 4392 卡牌游戏
    COGS 2089. 平凡的测试数据
    Slim Span (最小生成树)
    【BZOJ1294】[SCOI2009]围豆豆Bean 射线法+状压DP+SPFA
    排列perm HYSBZ
    I
  • 原文地址:https://www.cnblogs.com/szj-ang/p/7380744.html
Copyright © 2011-2022 走看看