【Java核心技術】集合——連結串列
阿新 • • 發佈:2018-12-09
import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; public class LinkedListTest { public static void main(String[] args) { List<String> a=new LinkedList<>(); //建立連結串列a a.add("Amy"); a.add("Carl"); a.add("Erica"); //按順序新增三個元素Amy、Carl、Erica List<String> b=new LinkedList<>(); //建立連結串列b b.add("Bob"); b.add("Doug"); b.add("Frances"); b.add("Gloria"); //按順序新增四個元素Bob、Doug、Frances、Gloria //列印集合a中所有元素[Amy, Carl, Erica] System.out.println(a); //列印集合b中所有元素[Bob, Doug, Frances, Gloria] System.out.println(b); ListIterator<String> aIter = a.listIterator(); //a的列表迭代器 Iterator bIter = b.iterator(); //b的的迭代器 //合併ab兩個集合 while (bIter.hasNext()) //當b集合還存在可訪問的元素,迴圈執行 { if (aIter.hasNext()) //如果a集合還存在可訪問元素 aIter.next(); //跳到下一個元素之後 aIter.add((String) bIter.next()); //將b集合中下一個元素新增到a集合中 } //列印a集合中所有元素[Amy, Bob, Carl, Doug, Erica, Frances, Gloria] System.out.println(a); bIter=b.iterator(); //刪除B集合中偶數位置的元素 while (bIter.hasNext()) //當b集合還存在可訪問的元素,迴圈執行 { bIter.next(); //跳到b集合中下一個元素之後 if (bIter.hasNext()) //如果b集合還存在可訪問元素 { bIter.next(); //跳到b集合中下一個元素之後 bIter.remove(); //刪除上次訪問的元素 } } //列印集合b[Bob, Doug, Frances, Gloria] System.out.println(b); a.removeAll(b); //刪除a集合中與b集合重複的元素 //列印集合a[Amy, Carl, Erica] System.out.println(a); } }
《Java核心技術卷1》第九章集合——連結串列
P360-P361程式碼
程式實現:
建立兩個連結串列a,b,分別新增多個字串元素,定義兩個迭代器,把集合b合併到集合a,將集合b中偶數位置的元素刪除,將集合a中的與集合b中元素相同的元素刪除(即去重)。