黑馬程序員之<List--隊列、棧...>

--------------------- ASP.Net+Unity開發.Net培訓、期待與您交流! ----------------------

1.隊列:先進先出

175154815.jpg

運行結果:


zhangsan

lisi

wangwu


2.棧:先進後出

175409480.jpg

結果:

lisi

wangwu

zhangsan

3. 去除重複元素

思路:(ArrayList)

將集合中的元素一個一個的讀取出來,然後放到一個新的集合中,在放到新的集合中之前,看新的集合中是否存在此元素,如果存在此元素,那麼就不存入,要是不存在,則存到新的集合中。

175615630.jpg

運行結果:

有重複元素的集合[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培訓、期待與您交流! ----------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章