接口的介绍和List集合方法

本文介绍了Java集合框架中的List接口实现类ArrayList的基本操作,包括添加元素、获取元素、遍历集合、插入元素、判断元素是否存在、移除元素以及转换为数组。通过实例展示了如何使用for循环、增强for循环和迭代器进行集合遍历。同时,文章还演示了清空集合、检查集合是否为空以及获取集合大小的方法。
摘要由CSDN通过智能技术生成

1、Collection接口实现类的特点

(1)collection实现子类可以放多个元素

(2)有些Collection实现类可以存在重复的元素,有些不可以

(3)List接口存储一组不唯一,有序(插入顺序)的对象。

(4)Set接口存储一组唯一,无序。

(5)Collection接口没有直接的实现子类,是通过它的子接口Set和List来实现的。

2.实现子类Array子类

 第一步先创建一个类,放三个属性值。

这三个属性值要添加有参构造和无参构造,get.set方法和toString
private int id;//编号
private String name;//名称
private String author;//创建者

第二创建一个实现类,先创建四个对象

NewsTitle nt1 = new NewsTitle(1001,"合肥长丰疫情形势严峻", "合肥908传媒");
		NewsTitle nt2 = new NewsTitle(1002,"官方发布:2023年度国考笔试延期举行,具体时间另行通知", "北京青年报记者");
		NewsTitle nt3 = new NewsTitle(1003,"受疫情影响1400名学生御寒衣物告急 湖南两高校为学生募捐冬装", "奔流新闻记者 ");
		NewsTitle nt4 = new NewsTitle(1004,"北京本轮疫情毒株有多强?感染者居家隔离可行吗?病例数为何持续增加?专家详解", "北京日报");

将对象存储到一个集合,需要准备集合容器

ArrayList al = new ArrayList();

集合是通过集合对象调用方法

添加元素add(对象名),存储到集合中

ArrayList al = new ArrayList();
		al.add(nt1);
		al.add(nt3);
		al.add(nt3);
		al.add(nt4);
	int size()	//获取集合中的元素,返回一个int类型
		int num =al.size();
		System.out.println("集合中的个数"+num);

Object get(int index)方法

Object obj1=al.get(0);
		NewsTitle ntw1=(NewsTitle)obj1;
		//返回的是Object类型,实际上集合的是NewsTitle类型,所以进行强制转换
		System.out.println(ntw1.toString());

     通过get方法,可以看出:ArrayList集合中的元素是有序的,可重复(不唯一)

Object obj1=al.get(0);
		NewsTitle ntw1=(NewsTitle)obj1;
		//返回的是Object类型,实际上集合的是NewsTitle类型,所以进行强制转换
		System.out.println(ntw1.toString());
		Object obj2 =al.get(1);
		NewsTitle ntw2 = (NewsTitle)obj2;
		System.out.println(ntw2.toString());
		
		Object obj3 =al.get(2);
		NewsTitle ntw3 = (NewsTitle)obj3;
		System.out.println(ntw3.toString());
		
		Object obj4 =al.get(3);
		NewsTitle ntw4 = (NewsTitle)obj4;
		System.out.println(ntw4.toString());
	

运行结果

 

 

这太麻烦可以使用for循环,增强for循环和迭代

for循环遍历
for(int i =0;i<al.size();i++){
			//使用get()方法获取元素
			Object obj = al.get(i);
			//将obj转换为NewTitle类型
			NewsTitle ntwsTitle = (NewsTitle)obj;
			System.out.println(ntwsTitle);
		}
//曾强for循环
for(Object obj :al){
			//将obj转换为NewTitle类型
			NewsTitle ntwsTitle = (NewsTitle)obj;
			System.out.println(ntwsTitle);
		}
	System.out.println("使用迭代器遍历集合:");
		Iterator it =al.iterator();
		while(it.hasNext()){
			Object obj =it.next();
			//将obj转换为NewTitle类型
			NewsTitle ntwsTitle = (NewsTitle)obj;
			System.out.println(ntwsTitle);
		}
		运行结果跟for循环结果一样

void add(int index,Object o):将元素插入到集合中指定位置

将nt2放到下标为3的位置
al.add(3, nt2);
	for(Object obj :al){
		//将obj转换为NewTitle类型
		NewsTitle ntwsTitle = (NewsTitle)obj;
		System.out.println(ntwsTitle);
	}

运行结果

 

contains(Object o)
          如果此列表中包含指定的元素,则返回 true
boolean result=al.contains(nt2);
	System.out.println(result);

运行结果 

 

booleanremove(Object o)
          移除此列表中首次出现的指定元素(如果存在)。
boolean result2=al.remove(nt1);
	System.out.println(result2);
	for(Object obj :al){
		//将obj转换为NewTitle类型
		NewsTitle ntwsTitle = (NewsTitle)obj;
		System.out.println(ntwsTitle);
	}

 运行结果

1001被删除了

 

Object[]toArray()
          按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
Object result3 = al.toArray();
	for(Object obj :al){
		//将obj转换为NewTitle类型
		NewsTitle ntwsTitle = (NewsTitle)obj;
		System.out.println(ntwsTitle);
	}

 运行结果

//清零
	al.clear();
	System.out.println("集合为空"+al.isEmpty());
	System.out.println("结合中的个数"+al.size());

 运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值