Day16_集合_Collection

本文介绍了Java集合框架中的核心接口Collection,包括数组与集合的区别、集合框架的结构、Collection接口及其常用方法,如ArrayList、HashSet和TreeSet的特点及特有方法。还涉及到HashMap的特性,以及集合遍历方式和添加、删除、判断等操作。
摘要由CSDN通过智能技术生成

1 集合

数组:装指定数量个,相同数据类型数据的容器

集合:装可变数量个,任意引用数据类型数据的容器

集合和数组的区别:

​ 相同之处: 1 都是容器:可以装多个数据

​ 2 都是引用数据类型

​ 3 元素都有索引:索引从0开始

​ 不同之处:

​ 1 元素个数是否可变: 数组一旦创建 元素个数不能更改

​ 集合创建后 元素个数可以更改

​ 2 元素类型是否相同: 数组创建前必须指定元素类型 只能装指定类型的元素

​ 集合中元素的类型可以不同

​ 3 元素是否可以是基本数据类型: 数组元素可以是任意类型:基本数据类型+引用数据类型

​ 集合元素必须是引用数据类型

​ 4 元素是否有默认值: 数组元素不赋值 有默认初始值

​ 集合元素没有默认值

数组 集合
元素个数是否可变 不能更改 可以更改
元素类型是否相同 相同数据类型数据 任意引用数据类型数据
元素是否可以是基本数据类型 任意类型:基本数据类型+引用数据类型 引用数据类型
元素是否有默认 没有

集合框架

集合框架:与集合相关的 类和接口

顶层接口:

​ 1 Collection : 列集合的顶层接口:每次操作对应的是一元素

​ 1.1 子接口:List 有序列表: 元素有下标

​ 1.1.1 实现类: ArrayList

​ 1.1.2 实现类: LinkedList

​ 1.1.3 实现类: Vector

​ 1.2 子接口:Set 不重复列表 元素无下标

​ 1.2.1 实现类: HashSet

​ 1.2.2 实现类: TreeSet

​ 2 Map : 列集合的顶层接口:每次操作对应的是一元素

​ 2.1 实现类: HashMap

​ 2.2 实现类: HashTable

​ 2.3 实现类: TreeMap

学习内容:

​ 1 集合框架的结构

​ 2 常见集合实现类的特点

​ 3 常见实现类的遍历方式

2 Collection 接口:

Collection是List和Set的顶层接口
Collection的方法和遍历方式适用于所有的List和Set

方法

​ 1 添加

​ 1.1 boolean add (Object obj); 一次添加一个
​ // c2.add(“abcd”);
​ // c2.add(1234);

​ 1.2 boolean addAll (Collection c); 一次把c中的所有元素添加到当前集合中

​ // c1.addAll(c2);

​ 2 获取

​ 2.1 int size(); 获取元素个数

​ // c1.size()

​ 2.2 Object[] toArray () ; 转化为Object数组

​ // Object[] arr=c1.toArray();

​ 2.3 Iterator iterator (); 获取遍历集合的迭代器 (获取一个对象 此对象封装了遍历集合的功能)

​ 3 删除

​ 3.1 void clear() ; 删除所有元素

​ // c1.clear();

​ 3.2 boolean remove (Object o); 删除一个

​ // c1.remove(111);

​ 3.3 boolean removeAll (Collection c); 一次把c中所有的元素从当前集合中删除

​ // c1.removeAll (c2);

​ 4 判断

​ 4.1 boolean isEmpty (); 如果此 collection 不包含元素,则返回 true

​ // c1.isEmpty() 判断是否为空

​ 4.2 boolean contains (Object o) ; 如果此 collection 包含指定的元素,则返回 true

​ // c1.contains(“123”) 判断是否包含一个

​ 4.3 boolean containsAll (Collection o); 如果此 collection 包含指定 collection 中的

所有元素,则返回 true

​ // c1.containsAll(c2) 判断是否包含所有

Iterator : 迭代器接口

​ boolean hasNext(); 判断是否还有元素可以迭代

​ Object next(); 获取一个元素

package com.zhiyou1.day16;

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

public class Demo01Collection {
   
	public static void main(String[] args) {
   
		Collection c1 = new ArrayList();
		c1.add("111");
		c1.add("aaa");
		System.out.println(c1);
		
		Collection c2 = new ArrayList();
		c2.add("222");
		c2.add("bbb");
		c2.add(2233);
		c1.addAll(c2);
		System.out.println(c1);
		
		//c1.clear();
		System.out.println(c1.remove(111));
		System.out.println(c1.size());

//遍历Collection方式1:简洁for循环
		//唯一优点:简洁
		//简洁for循环缺点:1 不能获取下标
		//               2 遍历时不能进行对元素进行增删
		/*for循环c2集合&#
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值