1. 程式人生 > >【Java核心技術】集合——連結串列

【Java核心技術】集合——連結串列

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中元素相同的元素刪除(即去重)。