集合工具类

本文介绍了Java中用于集合操作的工具类Collections和Arrays的基本用法,包括如何对List和数组进行排序,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集合工具类

两个实用的辅助工具类:COllectionsArrays

Collections工具提供了一些对Collections集合常用的静态方法,例如:查找,排序、复制、以及填充等操作。Collections工具类中常用的静态方法如下所示:

使用Collections工具类为集合进行排序时,集合中德元素必须是Comparable可比较的。Java提供一个Comparable接口,该接口中只有一个compareTo()比较方法。如果一个类实现COmparable接口,则该类的对象就可以整体进行比较排序,这种方法被称为类的“自然排序”,compareTo()方法被称为“自然比较方法”。

代码示例:

Person

//声明Person类,实现Comparable接口

public class Person implements Comparable<Person> {

private String name;

private int age;

private String address;

public Person(){

}

public Person(String name, int age, String address) {

this.name = name;

this.age = age;

this.address = address;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

@Override

public String toString() {

return "Person [name=" + name + ", age=" + age + ", address=" + address + "]";

}

//重写Comparable接口中德comparTo()方法

public int compareTo(Person p){

if(this.age < p.age){

return -1;

}else if(this.age == p.age){

return 0;

}else{

return 1;

}

}

CollectionsDemo 类

public class CollectionsDemo {

public static void main(String[] args) {

//创建ArrayList集合

ArrayList<Person> list = new ArrayList<>();

//添加Person对象

Person p = new Person("张三",13,"北京");

list.add(p);

list.add(new Person("李四",8,"上海"));

list.add(new Person("王五",28,"济南"));

list.add(new Person("马六",83,"澹台"));

list.add(new Person("大周",84,"青岛"));

System.out.println("-----------排序前");

for(Person p1 :list){

System.out.println(p1);

}

System.out.println("-----------排序后");

//排序

Collections.sort(list);

for(Person p1 :list){

System.out.println(p1);

}

System.out.println(Collections.max(list));

System.out.println(Collections.min(list));

}

}

Arrays

代码示例:

public static void main(String[] args) {

//创建一个person数组

Person[] p = new Person[5];

//实例化对象数组中的元素

p[0] = new Person("张1", 143, "北京");

p[1] = new Person("张2", 123, "北京");

p[2] = new Person("张3", 132, "北京");

p[3] = new Person("张4", 1352, "北京");

p[4] = new Person("张5", 113, "北京");

for(Person e : p){

System.out.println(e);

}

System.out.println("--------------");

//使用Arrays工具类进行排序

Arrays. sort(p);

System.out.println("排序后:");

for(Person e : p){

System.out.println(e);

}

System.out.println("----------");

//将数组中的内容转换成字符串

System.out.println(Arrays.toString((p)));

System.out.println("----------");

//数组拷贝

Person[] copy = Arrays.copyOfRange(p,1,4);

System.out.println("拷贝后");

for(Person e : copy){

System.out.println(e);

}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值