集合---List

Posted 做个机灵鬼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合---List相关的知识,希望对你有一定的参考价值。

1.集合主要用于存储类的对象

Collection下有三个子接口,分别是List、 Queue和set,ListQueue中可以存储有序且重复的数据,Set中存储的数据是无序且不允许重复
1、List接口的主要实现类包括 ArrayList和 LinkedList, LinkedList同时实现了Queue接口
2.ArrayList的底层实现是数组,因此在内存中是连续存储的,查询速度快,但增加和删除速度慢
3.LinkedList底层是基于双向链表的,增加和删除速度快,查询速度慢

代码实践:

1.创建集合,并对集合的内容进行删除

public class Demo01 {
    public static void main(String[] args) {
        List list = new ArrayList();
        //在列表中添加java  c c++ Go python
        list.add("java");
        list.add("c");
        list.add("c++");
        list.add("Go");
        list.add("python");
        //输出列表的元素
        for (int i = 0; i < 5; i++) {
            System.out.print(list.get(i)+",");
        }
        //删除列表中的c++
        //集合的下标从0开始
        list.remove(2);
        System.out.println("**********");

       for (int i = 0; i < 4; i++) {
            System.out.print(list.get(i)+",");
        }
    }
}

2.公告的添加 显示 修改 删除(增删改)
先创建对象类

import java.util.Date;

//公告的添加与显示
public class Notice {
    private int id;//ID
    private String title;//标题
    private String creator;//创建人
    private Date creatorTime;//创建时间
    //构造方法
    public Notice(int id, String title, String creator, Date creatorTime) {
        this.id = id;
        this.title = title;
        this.creator = creator;
        this.creatorTime = creatorTime;
    }
    public int getId() {
        return id;
    }

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

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public Date getCreatorTime() {
        return creatorTime;
    }

    public void setCreatorTime(Date creatorTime) {
        this.creatorTime = creatorTime;
    }
}

实现类

import java.util.ArrayList;
import java.util.Date;

public class NoticeText {
    public static void main(String[] args) {
        //创建Notice对象 生产三条广告
        Notice notice1 = new Notice(1,"欢迎来到miooc","管理员",new Date());//获得一个电脑当前时间
        Notice notice2 = new Notice(2,"java课程","老师",new Date());//获得一个电脑当前时间
        Notice notice3 = new Notice(3,"考勤通知","老师",new Date());//获得一个电脑当前时间
        //添加到List数组中
        ArrayList list = new ArrayList();
        list.add(notice1);
        list.add(notice2);
        list.add(notice3);
        //输出三条公告的标题
        System.out.println("公告的标题为:");
        for (int i = 0; i < list.size(); i++) {
            //Object包下没有getTitle()方法,这里需要强制类型转换
            //这里的i为int型,实现了一个加法运算
            System.out.println(i+1+":"+((Notice) list.get(i)).getTitle());
        }
        //增加一个一条公告,在第二行输出
        System.out.println("**************");
        Notice notice4 = new Notice(4,"在线编辑器可以使用了","管理员",new Date());
        list.add(1,notice4);
        for (int i = 0; i < list.size(); i++) {
            //Object包下没有getTitle()方法,这里需要强制类型转换
            //这里的i为int型,实现了一个加法运算
            System.out.println(i+1+":"+((Notice) list.get(i)).getTitle());
        }
        //把考勤通知删除了
        System.out.println("删除后的公告为:");
        list.remove(3);
        for (int i = 0; i < list.size(); i++) {
            //Object包下没有getTitle()方法,这里需要强制类型转换
            //这里的i为int型,实现了一个加法运算
            System.out.println(i+1+":"+((Notice) list.get(i)).getTitle());
        }
        //给公告添加文字,修改为java在线编辑器可以使用了
        //注意这里是给notice4这个"对象"修改
        System.out.println("修改后的公告为:");
        notice4.setTitle("java在线编辑器可以使用了");
        list.set(1,notice4);
        for (int i = 0; i < list.size(); i++) {
            //Object包下没有getTitle()方法,这里需要强制类型转换
            //这里的i为int型,实现了一个加法运算
            System.out.println(i+1+":"+((Notice) list.get(i)).getTitle());
        }
    }
}

以上是关于集合---List的主要内容,如果未能解决你的问题,请参考以下文章

第九次作业

代码片段 - Golang 实现集合操作

laravel特殊功能代码片段集合

ArrayUtil-将集合按指定个数分为多个集合

201621123042《java程序设计》第九次作业

201621123057 《Java程序设计》第9周学习总结