JAVA复习【11】单列集合Collection:ArrayList、 LinkedList、HashSet、TreeSet学习与使用

1.首先思考一个问题:为什么要有集合?
我们也知道,数组可以保存多个对象,但是在某些情况下无法确定到底需要保存多少个对象,此时数组不再适用没因为数组的长度不可变,例如,要保存一个学校的学生信息,由于不停有新生来报道,同时也有学生毕业离开学校,这时学生的数目无法固定,并且随时可能变动,为了保存这些数目不确定的对象,JAVA提供了一系列特殊的类,统称为集合,集合可以储存任意类型的对象,并且长度可变。
下面是集合体系核心架构图:
在这里插入图片描述
接下来我将根据这条图的架构来学习集合:
2.单列集合Collection
Collection是单列集合的根接口,用于存储一系列符合某种规则的元素。Collections集合有两个重要的子接口,分别是List和Set。
1.size():返回集合中元素的个数
2.add(Object obj):向集合中添加一个元素
3.addAll(Colletion coll):将形参coll包含的所有元素添加到当前集合中
4.isEmpty():判断这个集合是否为空
5.clear():清空集合元素
6.contains(Object obj):判断集合中是否包含指定的obj元素
① 判断的依据:根据元素所在类的equals()方法进行判断
②明确:如果存入集合中的元素是自定义的类对象,要去:自定义类要重写equals()方法
7.constainsAll(Collection coll):判断当前集合中是否包含coll的所有元素
8.rentainAll(Collection coll):求当前集合与coll的共有集合,返回给当前集合
9.remove(Object obj):删除集合中obj元素,若删除成功,返回ture否则
10.removeAll(Collection coll):从当前集合中删除包含coll的元素
11.equals(Object obj):判断集合中的所有元素 是否相同
12.hashCode():返回集合的哈希值
13toArray(T[] a):将集合转化为数组
①如有参数,返回数组的运行时类型与指定数组的运行时类型相同。
14.iterator():返回一个Iterator接口实现类的对象,进而实现集合的遍历。
15.数组转换为集合:Arrays.asList(数组)
这些Collection方法都来自Java API文档。Collection没有get方法,可以用tocharArray方法将集合转换成一个object类型的数组。
主要功能示例:

package com.Collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionMethod {
   
public static void main(String[] args) {
   
ArrayList list = new ArrayList();
//add:添加单个元素
list.add("5");
list.add(10);   //list.add(new Integer(10));
list.add(true);
System.out.println("list=" + list);//list=[5, 10, true]
//remove:删除指定元素
list.remove(0); //删除第一个元素
list.remove(true); //删除指定元素
System.out.println("list=" + list);//list=[10]
//contains:查找元素是否存在
System.out.println(list.contains("2"));//false
//size:获取元素个数
System.out.println(list.size());//1
//isEmpty:判断是否为空
System.out.println(list.isEmpty());//false
//clear:清空
list.clear();
System.out.println("list=" + list);//list=[]
//addAll添加多个元素
ArrayList list2 = new ArrayList();
list2.add("tom");
list2.add("jack");
list.addAll(list2);
System.out.println("list=" + list);//list=[tom, jack]
//containsAll:查找多个元素是否都存在
System.out.println(list.containsAll(list));//true
//removeAll:删除多个元素
list.removeAll(list);
System.out.println("list=" + list);//list=[]
}
}                   

2.1 List集合
List集合的特点是元素有序(存储和读取的顺序是一致的)、可重复、有整数序列.
习惯性的会将实现了List接口的对象成为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性的方式进行存储的,在程序中可以通过索引(类似于数组中的元素角标)来访问集合中的指定元素。
List作为Coecction集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些操作集合的特有方法。如下图所示
在这里插入图片描述
1.void add(int index,Collection ele):在index位置插入ele元素
2.boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进来
3.Object get(int index):获取指定index位置的元素
4.int indexOf(Object obj):返回obj在集合中首次出现的位置
5.int lastIndexOf(Object obj):返回obj当前集合中末尾出现的位置
6.Object remove(int index):移除指定index位置的元素,并返回此元素
7.Object set(int index,Object ele):设置指定index位置的元素为ele,相当于替换
8.List subList(int fromIndex, int toIndex):返回从fromIndex到toIndex位置的子集合
主要功能示例

import java.util.ArrayList;
import java.util.List;public class ListMethod {
   
public static void main(String[] args) {
   
List list = new ArrayList();
//        void add(int index,Collection ele):在index位置插入ele元素
list.add("helo");
list.add("你好");
System.out.println(list);  //[hello, 你好]
//        boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进来
List list1 = new ArrayList();
list1.add("Jack");
list1.add("Tom");
list1.add("Jack");
list.addAll(1,list1)<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值