【Java核心技术】集合——链表

本文详细解析了使用Java进行链表操作的方法,包括链表的创建、元素的添加与删除,以及利用迭代器进行集合的合并与去重过程。通过具体代码示例,展示了如何高效地管理链表数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值