Java期末复习(一)---集合框架(List接口相关知识)
2021/6/26 17:26:57
本文主要是介绍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()); } } }
这篇关于Java期末复习(一)---集合框架(List接口相关知识)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略