Java学习之集合

一、集合和数组的区别

集合:

1、长度可变

2、可存储多种类型

3、只可以存储引用类型

数组:

1、长度固定

2、可以存储基本类型,也可以存储引用类型

3、存储的数据类型一致

二、为什么使用集合

Java是面向对象语言,面向对象语言对事物的体现都是对象的形式,所以唯一方便对对象的操作,我们就需要对多个对象进行存储,数组是可以存储对象,但是数组的长度固定,无法适应变化的需求所以Java就为我们提供了集合

三、集合类

关系图:


1、Collection接口

1.1概述:是集合的顶层接口,定义了集合的共性功能,可以存储对象,这些对象也被称为元素

1.2成员方法:

A:添加功能
boolean add(Object obj):往集合中添加一个元素

boolean addAll(Collection c):往集合中添加多个元素

B:删除功能

void clear():清空所有元素

boolean remove(Object o):从集合中删除一个元素

boolean removeAll(Collection c):从集合中删除另一个集合的元素

C:判断功能

boolean contains(Object o):判断集合中是否包含指定的元素

boolean containsAll(Collection c):判断集合中是否包含另一个集合的元素

boolean isEmpty():判断集合是否为空。

D:交集功能

boolean retainAll(Collection c)

E:迭代器(集合特有的遍历方式)

Iterator iterator()

F:长度功能

int size():返回集合中元素的个数

G:集合转数组

Object[]toArray():把集合转成数组,然后遍历数组,其实就相当于遍历了集合

package com.edu_01;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionDemo {
	public static void main(String[] args) {
		/*A:添加功能
		  	boolean add(Object obj):往集合中添加一个元素
		  	boolean addAll(Collection c):往集合中添加多个元素*/
		Collection c = new ArrayList<>();
		c.add("hello");
		c.add("java");
		Collection c2 = new ArrayList<>();
		c2.add("hello");
		c2.add("c++");
		
		c.addAll(c2);
		System.out.println(c);//[hello, java, hello, c++]

		/*B:删除功能
		  	void clear():清空所有元素
		 	boolean remove(Object o):从集合中删除一个元素
		 	boolean removeAll(Collection c):从集合中删除另一个集合的元素*/
		//c.remove("c++");
		//System.out.println(c);//[hello, java, hello]
		//c.removeAll(c2);
		//System.out.println(c);//[java]
		//c.clear();
		//System.out.println(c);//[]
		
		/*C:判断功能
		 	boolean contains(Object o):判断集合中是否包含指定的元素
		 	boolean containsAll(Collection c):判断集合中是否包含另一个集合的元素
		 	boolean isEmpty():判断集合是否为空。*/
		boolean contains = c2.contains("c++");
		System.out.println(contains);//true
		boolean containsAll = c.containsAll(c2);//true
		System.out.println(containsAll);
		boolean empty = c.isEmpty();
		System.out.println(empty);//false
		
		/*交集功能:boolean retainAll(Collection c)*/
		boolean retainAll = c.retainAll(c2);
		System.out.println(retainAll);//true
		System.out.println(c);//[hello, hello, c++]
		 
		/*E:迭代器(集合特有的遍历方式)
		 	Iterator iterator()
					重点:Iterator的使用
						A:使用步骤
						B:迭代器原理*/
		Iterator iterator = c.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
		
		 /*	F:长度功能:int size():返回集合中元素的个数*/
		int size = c.size();
		System.out.println(size);
		
		/*G:集合转数组
		Object[]toArray():把集合转成数组,然后遍历数组,其实就相当于遍历了集合。*/
		Object[] array = c.toArray();
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值