Java期末复习(一)---集合框架(List接口相关知识)
作者:互联网
写在前面
本博客仅用于个人期末复习,软件工程初学,欢迎指出错误及指导!
一、ArrayList类
通过导入Java中的ArrayList类来创建,并且实现简单的添加、删除、替换操作
/*
* 使用ArrayList类方法实现简单的列表添加和删除等操作
*/
package demo;
import java.util.*;
public class Part8_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList list = new ArrayList();
list.add("貂蝉");
list.add("吕布");
list.add("马超");
//判断集合中是否包含李白
System.out.println(list.contains("李白"));
//把索引为0的数据移除
list.remove(0);
System.out.println("-------------------------");
list.set(1, "刘备");
for(int i = 0; i < list.size(); i++) {
String name = (String)list.get(i);
System.out.println(name);
}
System.out.println("-------------------------");
System.out.println(list.indexOf("关羽"));
list.clear(); //清空列表list数据
System.out.println("-------------------------");
for(Object obj:list) {
String name = (String)obj;
System.out.println(name);
}
System.out.println(list.isEmpty());
}
}
二、List类
Collection接口可以存储一组,不唯一,无序的对象。List隶属于Collection接口,可以存放重复元素,但有序,ArrayList类、LinkedList类是List接口的常用实现类
使用List创建集合存放新闻标题元素
定义新闻类及构造方法
/*
* 新闻类定义,构造方法以及返回新闻标题的自定义方法
* 用于实现Part8_..系列新闻类的调用
*/
package demo;
import java.util.*;
public class NewTitle {
int count ;
String Name;
String Admin;
public NewTitle(int num, String name, String admin) {
this.Admin=admin;
this.count = num;
this.Name = name;
}
public String getTitleName() {
return Name;
}
}
List接口集合的创建
/*
* 使用List类实现存储与读取等过程
*/
package demo;
import java.util.*;
public class Part8_2 {
public static void main(String[] args) {
NewTitle car = new NewTitle(1,"汽车","管理员");
NewTitle tech = new NewTitle(2,"科技","管理员");
//创建集合对象用以存储新闻标题
//按照顺序添加新闻标题
newsTitleList.add(car);
newsTitleList.add(tech);
//获取新闻标题总数
System.out.println("新闻标题的总数目是:"+newsTitleList.size()+"条。");
//遍历集合对象
for(Object obj:newsTitleList) {
NewTitle title = (NewTitle)obj;
System.out.println(title.getTitleName());
}
}
}
三、LinkedList接口
List和ArrayList集合因为可以使用索引来查询获取元素,所以在遍历和随机访问元素时效率比较高,但是,就像数组一样,这样的特性使得在添加和删除非尾部元素时,会导致后续元素的移动,因此在添加,删除操作频繁的应用场景下,ArrayList效率变回低下。
LinkedList类是List接口的链接式列表实现类,在支持List接口可选的列表操作,并且允许元素值是任何类型的数据,包括null。十分适合插入,删除的操作场景,但由于其链表的存储方式,因此查询的效率会相应的降低
使用LinkedList集合存储新闻标题
/*
* LinkedList集合存储新闻标题,试下获取,添加以及删除第一条和最后一条
*/
package demo;
import java.util.*;
public class Part8_3 {
public static void main(String args[]) {
NewTitle car = new NewTitle(1,"汽车","管理员");
NewTitle medcial = new NewTitle(2,"医学","管理员");
NewTitle fun = new NewTitle(3,"娱乐","管理员");
NewTitle gym = new NewTitle(4,"体育","管理员");
//创建集合存储新闻标题
LinkedList Title = new LinkedList();
Title.add(car);
Title.add(medcial);
//添加第一条和最后一条新闻
Title.addFirst(fun);
Title.addLast(gym);
System.out.println("第一条和最后一条新闻已添加");
//获取第一条和最后一条新闻
NewTitle first = (NewTitle)Title.getFirst();
System.out.println("第一条新闻的标题是"+first.getTitleName());
NewTitle last = (NewTitle)Title.getLast();
System.out.println("最后一条新闻的标题是"+last.getTitleName());
//删除第一条和最后一条新闻
Title.removeFirst();
Title.removeLast();
System.out.println("第一条和最后一条新闻已删除");
//遍历所有的新闻标题
System.out.println("遍历所有的新闻标题");
for(Object obj:Title) {
NewTitle title = (NewTitle)obj;
System.out.println(title.getTitleName());
}
}
}
标签:NewTitle,Java,list,List,System,新闻标题,---,println,out 来源: https://blog.csdn.net/z1248969909/article/details/118250418