集合工具类

来源:互联网 发布:红外门禁单片机 编辑:程序博客网 时间:2024/06/13 13:45

集合工具类

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

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

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

代码示例:

Person

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

public class Personimplements Comparable<Person> {

private String name;

private int age;

private String address;

public Person(){

}

public Person(Stringname, int age, Stringaddress) {

this.name =name;

this.age =age;

this.address =address;

}

public String getName() {

return name;

}

public void setName(Stringname) {

this.name =name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age =age;

}

public String getAddress() {

return address;

}

public void setAddress(Stringaddress) {

this.address =address;

}

@Override

public String toString() {

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

}

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

public int compareTo(Personp){

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);

}

}


0 0
原创粉丝点击