List常见用法

类型

  1. ArrayList(长于随机访问元素,但是在中间插入和删除元素时较慢)
  2. LinkList(优化了顺序访问,在随机访问方面相对较慢,特性集较ArrayList更大)

例子

    public static void print(String s){
        System.out.println(s);
    }

//  Random rand = new Random(47);
//  List<Pet> pets = Pets.arrayList(7);
    public static void main(String args[]){
        Random rand = new Random(47);
        List<String> pets = new ArrayList();
        pets.add("Rat");
        pets.add("Manx");
        pets.add("Cymric");
        pets.add("Mutt");
        pets.add("Pug");
        pets.add("Cymric");
        pets.add("Pug");
        print("1: "+pets);
        pets.add("Hamster");
        print("2: "+pets);
        print("3: "+pets.contains("Hamster"));
        pets.remove("Hamster");
        String p = pets.get(2);
        print("4: "+p+" "+pets.indexOf(p) );
        String cymric = "Cymric";
        print("5: "+pets.indexOf(cymric));
        print("6: "+pets.remove(cymric));
        print("7: "+pets.remove(p));
        print("8: "+pets);
        pets.add(3,"Mouse");
        print("9: "+pets);
        List<String> sub = pets.subList(1, 4);
        print("subList: "+sub);
        print("10: "+pets.containsAll(sub));
        Collections.sort(sub);
        print("sorted subList: "+sub);
        print("11: "+pets.containsAll(sub));
        Collections.shuffle(sub,rand);
        print("shuffle subList: "+sub);
        print("12: "+pets.containsAll(sub));
        List<String> copy = new ArrayList<String>(pets);
        sub = Arrays.asList(pets.get(1),pets.get(4));
        print("sub: "+sub);
        copy.containsAll(sub);
        print("13: "+copy);
        copy = new ArrayList<String>(pets);
        copy.remove(2);
        print("14: "+copy);
        copy.removeAll(sub);
        print("15: "+copy);
        copy.set(1, "Mouse");
        print("16: "+copy);
        copy.addAll(2,sub);
        print("17: "+copy);
        print("18: "+pets.isEmpty());
        pets.clear();
        print("19: "+pets);
        print("20: "+pets.isEmpty());   
    }

//output
/*
 5: 2
1: [Rat, Manx, Cymric, Mutt, Pug, Cymric, Pug]
2: [Rat, Manx, Cymric, Mutt, Pug, Cymric, Pug, Hamster]
3: true
4: Cymric 2
5: 2
6: true
7: true
8: [Rat, Manx, Mutt, Pug, Pug]
9: [Rat, Manx, Mutt, Mouse, Pug, Pug]
subList: [Manx, Mutt, Mouse]
10: true
sorted subList: [Manx, Mouse, Mutt]
11: true
shuffle subList: [Mouse, Manx, Mutt]
12: true
sub: [Mouse, Pug]
13: [Rat, Mouse, Manx, Mutt, Pug, Pug]
14: [Rat, Mouse, Mutt, Pug, Pug]
15: [Rat, Mutt]
16: [Rat, Mouse]
17: [Rat, Mouse, Mouse, Pug]
18: false
19: []
20: true
     */

1.contains()方法来确定某个对象是否在列表内
2.remove()移除某个元素(若该元素有多个,移除所有该元素)
3.indexOf()获取对象在List中所处位置(获取第一个出现的位置)
4.subList(a,b)从列表中获得一个片段,左闭右开
5.containsAll()包含该集合的所有元素(Collecions.sort()和Collections.shuffle()(随机排序)不会影响)
6.retainAll()保留了同时在copy和sub中的元素(依赖于equals)
7.removeAll()移除所有元素
8.set(),replace(),替换
9.addAll()从制定位置插入一个列表
10.toArray()将Collection转换成一个数组

猜你喜欢

转载自blog.csdn.net/a1561067921/article/details/78428572