Java集合排序及泛型问题

本文探讨了Java集合的排序方法,涉及Comparator接口和Comparable接口的使用,讲解了如何根据自定义规则对对象进行整体排序。同时,通过具体实例展示了泛型在方法参数中的应用,包括对自定义类如学生信息和员工信息的排序,按照名字或工资进行升序或降序排列。
摘要由CSDN通过智能技术生成

1、在下面代码中的(1)(2)处可以填写(多选)
在这里插入图片描述

A. int int
B. Integer Integer
C. String String
D. string string
2、下列说法中不正确的是:
A. Comparator接口用于对自定义类进行整体排序
B. Comparator接口可以将Comparator传递给sort方法
C. int compare(T o1,T o2)比较用来排序的两个对象
D. boolean equals(Object obj)指示对象obj是否是“等于”当前对象。此
方法不可以被Object类中的equals方法覆盖

3、关于Comparable接口的说法,以下哪个是错误的?
A. Comparable位于java.lang包
B. 调用sort方法时,需要指定Comparable接口的实现类
C. Comparable接口的抽象方法是 int compareTo(T t)
D. Comparable接口还可以用于数组的排序
4、对英文单词进行排序,效果图如下:
在这里插入图片描述

任务
1、给list添加元素
2、输出排序前list中的内容
3、对list中的元素进行排序
4、输出排序后list中的内容

package com.school.list;

import java.util.*;

public class ListTest {
   
    public static void main(String[] args){
   
        //创建集合
        List list= new ArrayList();
        //使用add方法添加元素
        list.add("orange");
        list.add("tomato");
        list.add("apple");
        list.add("litchi");
        list.add("banana");
        //增强型for
        System.out.println("排序前:");
        for(Object s:list){
   
            System.out.print(s+"   ");
        }
        //sort方法进行排序
        Collections.sort(list);
        //同理
        System.out.println("\n排序后:");
        for(Object s:list){
   
            System.out.print(s+"   ");
        }
        /*这里使用迭代器,与增强型for循环效果一致
        System.out.println("\n排序后:");
        Iterator i = list.iterator();
        while(i.hasNext()){
        Ststem.out.print(i.Next()+"   ");
        }*/
    }
}

5、定义一个学生信息类,包括学号,姓名,年龄三个成员变量,然后按名字进行升序排序。(使用Comparator接口)
在这里插入图片描述
任务:
在这里插入图片描述

package com.school.list;

public class Student {
   
    private int id;
    private String name;
    private int age;

    public Student(){
   }

    public Student(int id,String name,int age){
   
        this.setId(id);
        this.setName(name);
        this.setAge(age);
    }

    @Override
    public String toString() {
   
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public int getId() {
   
        return id;
    }

    public void setId(int id) {
   
        this.id = id;
    }

    public String getName(
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赫尔特痛痛kkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值