所需要实现的功能:
查看企鹅的数量
遍历所有企鹅的信息
删除集合中部分企鹅的元素(编号一样代表同一个)
判断集合中是否包含指定企鹅
对企鹅的属性排序
Peguin:
public class Peguin implements Comparable<Peguin> { private int no; private int age; public Peguin() { super(); } public Peguin(int no, int age) { super(); this.no = no; this.age = age; } public int getNo() { return no; } public void setNo(int no) { this.no = no; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + no; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Peguin other = (Peguin) obj; if (no != other.no) return false; return true; } @Override public String toString() { return "Peguin [no=" + no + ", age=" + age + "]"; } @Override public int compareTo(Peguin o) { // TODO Auto-generated method stub return this.no - o.no; } }
PeguinAge:
import java.util.Comparator; public class PeguinAge implements Comparator<Peguin>{ @Override public int compare(Peguin o1, Peguin o2) { // TODO Auto-generated method stub return o1.getAge() - o2.getAge(); } }
PeguinTest:
import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; public class PeguinTest { public static void main(String[] args) { // TODO Auto-generated method stub List<Peguin> list = new ArrayList<Peguin>(); list.add(new Peguin(1,12)); list.add(new Peguin(2,9)); list.add(new Peguin(2,6)); list.add(new Peguin(3,10)); list.add(new Peguin(4,3)); list.add(new Peguin(1,6)); list.add(new Peguin(5,8)); System.out.println("企鹅的数量为:"+ list.size()); System.out.println("****遍历所有企鹅的信息****"); for (int i = 0; i < list.size(); i++) { Peguin peguin = list.get(i); System.out.println("编号:" +peguin.getNo() + "年龄:" + peguin.getAge()); } /*for (int i = 0; i < list.size(); i++) { Peguin peguin = list.get(i); if(peguin.getNo() == 1) { list.remove(i); } }*/ /* Iterator<Peguin> it = list.iterator(); while(it.hasNext()) { Peguin p = it.next(); if(p.getNo() ==1) { it.remove(); } } System.out.println("移除后list的长度:" + list.size()); System.out.println("集合中是否包含编号为5,年龄为8的企鹅:"+list.contains(new Peguin(5,8)) ); */ Collections.sort(list); System.out.println("****按照编号排序****"); System.out.println(list); Collections.sort(list,new PeguinAge()); System.out.println("****按照年龄排序****"); System.out.println(list); } }