java2_day03java集合
目录
-
java集合框架概述
-
Collection接口方法
-
Iterator迭代器接口
-
Collection子接口一:List
-
Collection子接口二:Set
-
Map接口
-
Collections工具类
1 java集合框架概述
-
一 方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java集合就像一种容器,可以动态地把多个对象的引用放入容器中。
1.1 集合与数组
-
集合与数组存储数据概述:
-
集合、数组都是对多个数据进行存储操作的结构,简称Java容器。
说明: 此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,. jpg,.avi,数据库中)
-
数组存储的特点:
-
一旦初始化以后,其长度就确定了。
-
数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。
比如: String[] arr; int[] arr1; Object[] arr2;
-
数组存储的弊端:
-
一旦初始化以后,其长度就不可修改。
-
数组中提供的方法非常有限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。
-
获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用
-
数组存储数据的特点: 有序、可重复。对于无序、不可重复的需求,不能满足。
-
集合存储的特点:
-
解决数组存储数据方面的弊端。
-
集合的使用场景
1.2 java集合
-
java集合可分为Collection和Map两种体系
-
collection接口:单列数据,定义了存取一组对象的方法的集合。(目前只关注List和set)
-
List接口:存储有序的、可重复的数据。 -->“动态”数组
-
ArrayList、LinkedList、Vector
-
-
set接口:存储无序的、不可重复的数据 -->高中讲的“集合”
-
HashSet、LinkedHashSet、TreeSet
-
-
-
Map接口:双列数据,保存具有映射关系(key - value)对的集合 -->高中函数: y = f(x),多个key可以对应相同的值。
-
HashMap、LinkedHashMap、TreeMap、Hashtable、Properties
-
2 Collection接口方法
-
此程序包含1. add 2. size 3. addAll 4. clear 5. isEmpty 共5种方法的测试
package com.xue.java2;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
/**
* Created with IntelliJ IDEA.
* User: xinxueqi
* Date: 2022/4/9
* Time: 19:50
* Description: 集合框架的概述
*/
public class CollectionTest0 {
此程序包含1. contains 2. containsAll 3. remove 4. removeAll 5. retainAll 6. equals 7. hashcode 8. toArray对集合、数组的转换,共8种方法的测试。还有一种遍历方法将在下一节进行讲解。
package com.xue.java2;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.zip.CheckedOutputStream;
/**
* Created with IntelliJ IDEA.
* User: xinxueqi
* Date: 2022/4/9
* Time: 16:40
* Description: Collection接口中声明的方法的测试
* 向Collection接口的实现类的对象中添加数据obj时,要求obj所在类要重写equals();
*/
public class CollectionTest {