所需要实现的功能:
查看企鹅的数量
遍历所有企鹅的信息
删除集合中部分企鹅的元素(编号一样代表同一个)
判断集合中是否包含指定企鹅
对企鹅的属性排序
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);
}
}