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());   //删除并返回列表的最后一个元素
            
        }
  • 相关阅读:
    my ReadBook_dianzishangwu / 2020216 / dianzishangwuwuliu
    my ReadBook_shichangyingxiao / 2020208
    C#编写的clock
    Java建立JProgressBar
    java基本类型byte的取值范围
    正则表达式整理大全
    (C#)如何利用Graphics画出一幅图表
    设置鼠标可以移动窗体
    Java编程提高性能的26个方法
    数据加密工具设计经验
  • 原文地址:https://www.cnblogs.com/szj-ang/p/7380744.html
Copyright © 2011-2022 走看看