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接口相关知识)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程