java.util.Collections类的方法

java.util.Collections类的方法

addAll()方法

Modifier and Type 方法 描述
static boolean addAll(Collection c, T... elements) 将所有指定的元素添加到指定的集合。
import java.util.*;

public class TestAddAll {
    public static void main(String[] args) {
        test();
    }

    // 测试addAll()方法
    public static void test() {
        ArrayList<Integer> list = new ArrayList<>();
        HashSet<Integer> set = new HashSet<>();
        LinkedList<Integer> linkedList = new LinkedList<>();
        Collections.addAll(list,1,2,5,10);
        Collections.addAll(set,1,3,10,9,3);
        Collections.addAll(linkedList, 1,2,3,10,9);
        System.out.println("Array列表中的元素:"+list);
        System.out.println("set集合中的元素"+set);
        System.out.println("linked列表中的元素:"+linkedList);
    }
}

Array列表中的元素:[1, 2, 5, 10]
set集合中的元素[1, 3, 9, 10]
linked列表中的元素:[1, 2, 3, 10, 9]

copy()方法

Modifier and Type 方法 描述
static void copy(List dest, List src) 将所有元素从一个列表复制到另一个列表中。
import java.util.*;

public class TestCopy {
    public static void main(String[] args) {
        test();
    }

    // 测试 copy()方法
    public static void test() {
        ArrayList<Integer> arrayList = new ArrayList<>();
        LinkedList<Integer> linkedList = new LinkedList<>();


        List<Integer> asList = Arrays.asList(1, 3, 10, 20);
        Collections.addAll(arrayList,1,2,5,10);
        Collections.addAll(linkedList, 1,2,3,10);

        Collections.copy(arrayList,linkedList);
        Collections.copy(linkedList, asList);
        linkedList.add(33);
        System.out.println("将LinkedList复制到ArrayList:"+arrayList);
        System.out.println("将固定长度List复制到LinkedList变成了不固定长List:"+linkedList);

    }
}
将LinkedList复制到ArrayList:[1, 2, 3, 10]
将固定长度List复制到LinkedList变成了不固定长List:[1, 3, 10, 20, 33]

fill()方法

Modifier and Type 方法 描述
static void fill(List list, T obj) 用指定的元素替换指定列表的所有元素。
import java.util.*;

public class TestFill {
    public static void main(String[] args) {
        test();
    }

    // 测试 fill()方法
    public static void test() {
        ArrayList<Integer> arrayList = new ArrayList<>();
        LinkedList<Integer> linkedList = new LinkedList<>();


        List<Integer> asList = Arrays.asList(1, 3, 10, 20);
        Collections.addAll(arrayList,1,2,5,10);
        Collections.addAll(linkedList, 1,2,3,10);
        Collections.fill(asList, 0);
        Collections.fill(arrayList,0);
        Collections.fill(linkedList,0);
        System.out.println("固定长度List替换"+asList);
        System.out.println("ArrayList替换"+arrayList);
        System.out.println("LinkedList替换"+linkedList);


    }
}
固定长度List替换[0, 0, 0, 0]
ArrayList替换[0, 0, 0, 0]
LinkedList替换[0, 0, 0, 0]

replaceAll()

Modifier and Type 方法 描述
static boolean replaceAll(List list, T oldVal, T newVal) 将列表中一个指定值的所有出现替换为另一个。
import java.util.*;

public class TestR {
    public static void main(String[] args) {
        test();
    }

    // 测试 replaceAll()
    public static void test() {

        LinkedList<Integer> linkedList = new LinkedList<>();
        Collections.addAll(linkedList, 1,2,3,10,3,2,3);
        Collections.replaceAll(linkedList,3,333);
        
        System.out.println("将列表中3替换为333:"+linkedList);
        
    }
}
将列表中3替换为333:[1, 2, 333, 10, 333, 2, 333]

reverse()

Modifier and Type 方法 描述
static void reverse(List list) 反转指定列表中元素的顺序。
import java.util.*;

public class TestR {
    public static void main(String[] args) {
        test();
    }

    // 测试 reverse()
    public static void test() {

        LinkedList<Integer> linkedList = new LinkedList<>();
        Collections.addAll(linkedList, 1,2,3,10,3,2,3);
        Collections.reverse(linkedList);

        System.out.println("反转列表:"+linkedList);

    }
}
反转列表:[3, 2, 3, 10, 3, 2, 1]

swap()

Modifier and Type 方法 描述
static void swap(List list, int i, int j) 交换指定列表中指定位置的元素。
import java.util.Collections;
import java.util.LinkedList;

public class TestS {
    public static void main(String[] args) {
        test();
    }

    // 测试 swap()
    public static void test() {

        LinkedList<Integer> linkedList = new LinkedList<>();
        Collections.addAll(linkedList, 1,2,3,10,3,2,3);
        Collections.swap(linkedList,0,3);

        System.out.println("交换0,3位置元素:"+linkedList);

    }
}
交换0,3位置元素:[10, 2, 3, 1, 3, 2, 3]

sort()

Modifier and Type 方法 描述
static >void sort(List list) 根据其元素的natural ordering按照升序排列指定的列表。
static void sort(List list, Comparator c) 根据指定的比较器引起的顺序对指定的列表进行排序。
import java.util.Collections;
import java.util.LinkedList;

public class TestS {
    public static void main(String[] args) {
        test();
    }

    // 测试 sort()
    public static void test() {

        LinkedList<Integer> linkedList = new LinkedList<>();
        Collections.addAll(linkedList, 1,2,3,10,3,2,3);
        Collections.sort(linkedList);

        System.out.println("排序:"+linkedList);

    }
}
排序:[1, 2, 2, 3, 3, 3, 10]

shuffle()

Modifier and Type 方法 描述
static void shuffle(List list) 使用默认的随机源随机排列指定的列表。

| static void | shuffle(List list, Random rnd) | 使用指定的随机源随机排列指定的列表。 |

import java.util.Collections;
import java.util.LinkedList;

public class TestS {
    public static void main(String[] args) {
        test();
    }

    // 测试 shuffle()
    public static void test() {

        LinkedList<Integer> linkedList = new LinkedList<>();
        Collections.addAll(linkedList, 1,2,3,10,3,2,3);
        Collections.shuffle(linkedList);

        System.out.println("打乱列表:"+linkedList);

    }
}

打乱列表:[3, 2, 2, 3, 3, 1, 10]

猜你喜欢

转载自www.cnblogs.com/sweetorangezzz/p/12920236.html