集合---List
Posted 做个机灵鬼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合---List相关的知识,希望对你有一定的参考价值。
1.集合主要用于存储类的对象
Collection下有三个子接口,分别是List、 Queue和set,List和 Queue中可以存储有序且重复的数据,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的主要内容,如果未能解决你的问题,请参考以下文章