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());
		}
	}

}

   

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值