zoukankan      html  css  js  c++  java
  • List简单使用笔记

    //: holding/ListFeatures.java
    import typeinfo.pets.*;
    import java.util.*;
    import static net.mindview.util.Print.*;
    
    public class ListFeatures {
      public static void main(String[] args) {
        Random rand = new Random(47);
        List<Pet> pets = Pets.arrayList(7);
        print("1: " + pets);
        Hamster h = new Hamster();
        pets.add(h); // Automatically resizes 自动调整尺寸,add()方法就是直接往List中添加数据
        print("2: " + pets);
        print("3: " + pets.contains(h)); // contains()方法用来确定某个对象是否在列表中
        pets.remove(h); // Remove by object // 移除对象
        Pet p = pets.get(2); // 获取索引为2的对象
        print("4: " +  p + " " + pets.indexOf(p));
        Pet cymric = new Cymric();
        print("5: " + pets.indexOf(cymric)); // 发现该对象在List中所处位置的索引编号
        print("6: " + pets.remove(cymric));
        // Must be the exact object:
        print("7: " + pets.remove(p));
        print("8: " + pets);
        pets.add(3, new Mouse()); // Insert at an index 插入
        print("9: " + pets);
        List<Pet> sub = pets.subList(1, 4); // subList()是从较大的列表中创建出一个片段
        print("subList: " + sub);
        print("10: " + pets.containsAll(sub));
        Collections.sort(sub); // In-place sort
        print("sorted subList: " + sub);
        // Order is not important in containsAll():
        print("11: " + pets.containsAll(sub));
        Collections.shuffle(sub, rand); // Mix it up 将其混乱
        print("shuffled subList: " + sub);
        print("12: " + pets.containsAll(sub));
        List<Pet> copy = new ArrayList<Pet>(pets);
        sub = Arrays.asList(pets.get(1), pets.get(4));
        print("sub: " + sub);
        copy.retainAll(sub);
        print("13: " + copy);
        copy = new ArrayList<Pet>(pets); // Get a fresh copy
        copy.remove(2); // Remove by index
        print("14: " + copy);
        copy.removeAll(sub); // Only removes exact objects
        print("15: " + copy);
        copy.set(1, new Mouse()); // Replace an element
        print("16: " + copy);
        copy.addAll(2, sub); // Insert a list in the middle
        print("17: " + copy);
        print("18: " + pets.isEmpty());
        pets.clear(); // Remove all elements 移除所有的元素
        print("19: " + pets);
        print("20: " + pets.isEmpty());
        pets.addAll(Pets.arrayList(4));
        print("21: " + pets);
        Object[] o = pets.toArray();
        print("22: " + o[3]);
        Pet[] pa = pets.toArray(new Pet[0]);
        print("23: " + pa[3].id());
      }
    } /* Output:
    1: [Rat, Manx, Cymric, Mutt, Pug, Cymric, Pug]
    2: [Rat, Manx, Cymric, Mutt, Pug, Cymric, Pug, Hamster]
    3: true
    4: Cymric 2
    5: -1
    6: false
    7: true
    8: [Rat, Manx, Mutt, Pug, Cymric, Pug]
    9: [Rat, Manx, Mutt, Mouse, Pug, Cymric, Pug]
    subList: [Manx, Mutt, Mouse]
    10: true
    sorted subList: [Manx, Mouse, Mutt]
    11: true
    shuffled subList: [Mouse, Manx, Mutt]
    12: true
    sub: [Mouse, Pug]
    13: [Mouse, Pug]
    14: [Rat, Mouse, Mutt, Pug, Cymric, Pug]
    15: [Rat, Mutt, Cymric, Pug]
    16: [Rat, Mouse, Cymric, Pug]
    17: [Rat, Mouse, Mouse, Pug, Cymric, Pug]
    18: false
    19: []
    20: true
    21: [Manx, Cymric, Rat, EgyptianMau]
    22: EgyptianMau
    23: 14
    *///:~
    

    这里主要是对一些List的方法进行熟悉了解,通过一个示例程序就很容易达到这个目的。

  • 相关阅读:
    Java CompletableFuture:allOf等待所有异步线程任务结束
    多线程分批处理数据
    ListSplitUtil (批量数据处理)
    mysql性能优化相关
    JsonUtil
    批量数据数据处理
    多集合取交集公用方法
    ALSA:Linux下声卡编程
    word
    安卓使用自己导入的db3数据库文件
  • 原文地址:https://www.cnblogs.com/fanlumaster/p/13661645.html
Copyright © 2011-2022 走看看