--------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ----------------------
1.隊列:先進先出
運行結果:
zhangsan
lisi
wangwu
2.棧:先進後出
結果:
lisi
wangwu
zhangsan
3. 去除重複元素
思路:(ArrayList)
將集合中的元素一個一個的讀取出來,然後放到一個新的集合中,在放到新的集合中之前,看新的集合中是否存在此元素,如果存在此元素,那麼就不存入,要是不存在,則存到新的集合中。
運行結果:
有重複元素的集合[java01, java02, java03, java01, java03, java04]
去掉重複元素的集合[java01, java02, java03, java04]
4.存儲自定義對象
自定義類,然後把其對象存儲到集合中,然後去除相同的元素,我們要從寫equals()方法,讓他們按照自己定義的比較方式比較,名稱和名字都一樣,那麼這兩個對象才相同,否則不是同一個對象。
當集合進行判斷是否包含(contains())此對象的時候,默認的調用了對象的equals()方法
import java.util.ArrayList;
import java.util.Iterator;
class person{
private String name;
private int age;
public person(String name,int age){
this.name=name;
this.age=age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public boolean equals(Object ob){
if(!(ob instanceof person)){
return false;
}
person p=(person)ob;
return this.name.equals(p.name)&&this.age==p.age;
}
}
public class ArrayListDome {
public static void show(ArrayList list){
Iterator it=list.iterator();
while (it.hasNext()){
person p=(person)it.next();
System.out.println(p.getName()+"-------"+p.getAge());
}
}
public static ArrayList singList(ArrayList l){
ArrayList newlist=new ArrayList();
Iterator it=l.iterator();
while (it.hasNext()){
Object ob=it.next();
if(!newlist.contains(ob)){
newlist.add(ob);
}
}
return newlist;
}
public static void main(String[] args) {
ArrayList ps=new ArrayList();
ps.add(new person("zhangsan",23));
ps.add(new person("zhangsan",23));
ps.add(new person("wangwu",22));
ps.add(new person("wangwu",22));
ps.add(new person("zhangsan",23));
ps.add(new person("lisi",27));
ps.add(new person("zhangsan",23));
ps.add(new person("zhangsan",23));
ps.add(new person("zhangsan",23));
System.out.println("含有重複的元素");
show(ps);
System.out.println("---------------------");
System.out.println("取出重複的元素");
ps=singList(ps);
show(ps);
}
}
結果:
含有重複的元素
zhangsan-------23
zhangsan-------23
wangwu-------22
wangwu-------22
zhangsan-------23
lisi-------27
zhangsan-------23
zhangsan-------23
zhangsan-------23
---------------------
取出重複的元素
zhangsan-------23
wangwu-------22
lisi-------27
--------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ----------------------