Java--Collection集合--List--LinkedList

以新闻标题列表为例:(类比ArrayList)

package com.arraylist;

//新闻标题类
public class NewTitle {
    private int id;
    private String titleName;
    private String creater;

    //空参构造方法
    public NewTitle(){

    }
    //有参构造方法
    public NewTitle(int id,String titleName,String creater){
        super();
        this.id = id;
        this.titleName = titleName;
        this.creater = creater;
    }
    //有参构造方法重载
    public NewTitle(int id,String titleName){
        super();
        this.id = id;
        this.titleName = titleName;
    }

    //==============生成getters和setters

    /*public void setId(int id) {
        this.id = id;
    }

    public void setCreater(String creater) {
        this.creater = creater;
    }

    public void setTitleName(String titleName) {
        this.titleName = titleName;
    }

    public int getId() {
        return id;
    }
    public String getTitleName() {
        return titleName;
    }
    public String getCreater() {
        return creater;
    }*/

    //===============重写父类toString方法

    @Override
    public String toString() {
        return "[新闻标题:"+titleName+",id:"+id+",作者:"+creater+"]";
    }

    //  在java中所有的类都是Object的子类,而toString又是Object中的方法,所以,所有的类都会继承toString方法,
    //  而当我们使用System.out.println()时会自动调用toString方法,
    //  如果我们在子类中重写了toString方法,那么就会调用重写的方法

}
package com.linkedlist;

import java.util.Iterator;
import java.util.LinkedList;

//新闻标题LinkedList列表测试类
public class Linked_List {
    public static void main(String[] args) {
        //1.创建新闻对象
        NewTitle carn = new NewTitle(1, "汽车品赏", "管理员");
        NewTitle testn1 = new NewTitle(2, "高考捷报", "管理员");
        NewTitle testn2 = new NewTitle(3, "武汉加油", "管理员");
        //2.创建集合对象
        LinkedList linklist = new LinkedList();
        //ArrayList newTitleList = new ArrayList();

        //3.List的有序集合 按顺序一次添加各类新闻标题
        linklist.add(carn);
        linklist.add(testn1);
        linklist.add(testn2);

        //4.获取新闻标题的总数
        System.out.println("新闻标题数目:" + linklist.size());

        //5.根据索引获取新闻标题,逐条打印新闻标题名称
        System.out.println("------------打印法一------------");
        for (int i = 0; i < linklist.size(); i++) {
            NewTitle title = (NewTitle) linklist.get(i);
            System.out.println(title);
        }
        System.out.println("------------打印法二------------");
        Iterator it = linklist.iterator();
        while (it.hasNext()) {  //尚未达到linklist的最后,还有迭代的元素
            Object object = it.next();
            System.out.println(object);
        }
        System.out.println("--------------删除--------------");

        NewTitle first = (NewTitle)linklist.getFirst();
        NewTitle last = (NewTitle)linklist.getLast();
        System.out.println("头条为:"+first);
        System.out.println("压轴为:"+last);

        //删除头条和末尾新闻标题
        NewTitle firstNews = (NewTitle) linklist.removeFirst();
        NewTitle lastNews = (NewTitle) linklist.removeLast();

        //输出删除后新闻标题的总数
        System.out.println("删除后新闻标题数目:"+linklist.size());
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值