JavaSE——集合(四)Collections

1.概述

java.utils.Collections是集合工具类,对集合进行操作。

2.用法

public static <T> boolean  addAll(Collection<T> c,T......elements):往集合中添加一些元素
public static void shuffle(List<?> list):随机打乱集合中元素的顺序
public static <T> void sort(List<T> list):将集合中的元素按照默认规则排序
public static <T> void sort(List<T> list,Compator<? super T>):将集合中的元素按照指定规则进行排序

3.案例演示

练习1

package com.westmo1.demo4;
import java.util.ArrayList;
import java.util.Collections;
public class MyDemo3 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        //用这种方式添加元素,非常不方便
        /*list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");*/
        Collections.addAll(list,"g","a","l","d","n");
        Collections.shuffle(list);//打乱元素顺序
        System.out.println(list);
        Collections.sort(list);//按照默认规则排序
        System.out.println(list);
    }
}

练习2

package com.westmo1.demo4;
import java.util.ArrayList;
import java.util.Collections;

public class MyDemo4 {
    public static void main(String[] args) {
        Student student1 = new Student("张三", 20);
        Student student2 = new Student("李四的儿子", 19);
        Student student3 = new Student("王五", 29);
        ArrayList<Student> list = new ArrayList<Student>();
        Collections.addAll(list,student1,student2,student3);
        Student.Sort sort = new Student.Sort();
        Collections.sort(list,sort);//按照指定规则(姓名长度)进行排序
        for (Student student : list) {
            System.out.println(student);
        }
    }
}
package com.westmo1.demo4;
import java.util.Comparator;
public class Student implements Comparable<Student> {
    private String name;
    private int age;
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student{" +
                "姓名='" + name + '\'' +
                ", 年龄=" + age +
                '}';
    }
    @Override
    public int compareTo(Student o) {
        return 0;
    }
static class Sort implements Comparator<Student> {
    @Override
    public int compare(Student o1, Student o2) {
        int num = o1.name.length() - o2.name.length();
        int num1 = o1.name.compareTo(o2.name);
        int num2 = o1.age - o2.age;
        if (num == 0) {
            num = num1;
        }
        if (num1 == 0) {
            num = num2;
        }
        return num;
    }
    }
}
发布了58 篇原创文章 · 获赞 13 · 访问量 1880

猜你喜欢

转载自blog.csdn.net/weixin_44324174/article/details/104263673
今日推荐