【Java】之集合总结(上)

简介: 用来存储不同类型的多个对象的一些特殊类的统称为集合,可以简单的理解为存储不同数据类型的动态数组(因为数组的长度是一定的,而集合长度是可以改变的)。核心接口:Collection、List、Set、Map。

一、集合概述
用来存储不同类型的多个对象的一些特殊类的统称为集合,可以简单的理解为存储不同数据类型的动态数组(因为数组的长度是一定的,而集合长度是可以改变的)。核心接口:Collection、List、Set、Map。

二、Collection接口
Collection接口是Java单列集合中的根接口,在某种定义上可以把Collection看成是动态的数组,一个对象的容器,通常把放入Collection中的对象称为元素。

1.Collection接口的声明
public interface Collection
2.Collection接口的方法
public boolean add(Object o)

功能描述:向当前集合中添加一个元素

public boolean addAll(Collection c)

功能描述:将集合c中所有元素添加给此集合

public void clear()

功能描述:删除集合中的所有元素

public boolean contain(Object o)

功能描述:查找集合中是否含有对象o

public boolean containsAll(Collection c)

功能描述:查找集合中是否含有集合c中的所有元素

public boolean equals(Object o)

功能描述:判断集合是否等价

public boolean isEmpty()

功能描述:判断集合中是否有元素

public boolean remove(Object o)

如果集合中有与o相匹配的对象,就删除对象o

public Iterator iterator()

返回一个迭代器,用于访问集合中的各个元素

public int size()

功能描述:返回当前集合中元素数量

三、List接口
List是Collection的子接口,继承了Collection接口的全部方法,还添加了一些特有方法。

1.List接口的声明
public interface List extends Collection

2.List接口的方法
public void add(int index,Object element)

功能描述:在指定位置index上添加元素element

public Object get(int index)

功能描述:返回列表中指定位置的元素

public int indexOf(Object o)

功能描述:返回第一次出现元素o的位置,否则返回-1

public int indexOf(Object o)

功能描述:返回最后一次出现元素o的位置,否则返回-1

public Object remove(int index)

功能描述:删除指定位置上的元素

public Object set(int index,Object element)

功能描述:用元素element代替index位置上的元素

3.举例
随机生成7个36以内的数并存入list集合中

代码

package test3;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
 
public class test3 {
    public static void main(String[] args) {
        Random r=new Random();
        List<Integer> list=new ArrayList<Integer>();
        int count=0;
        while(count<7) {
            int num=r.nextInt(36)+1;
            if(!list.contains(num)) {
                list.add(num);
                count++;
            }
            }
        System.out.println("36选7摇号如下:");
            for (Integer integer : list) {
                System.out.print(integer+"\t");
            }
        }
}

执行结果
image.png

四、Set接口
Set的方法与Collection接口的方法基本一致,Set元素无序且不重复

HashSet
HashSet是Set接口的一个实现类,为了去掉重复元素需要重写hashCode()和equals()方法

举例
随机生成7个36以内的数并存入HashSet集合中

代码

package test8;
 
import java.util.HashSet;
 
public class test8 {
    public static void main(String[] args) {
        HashSet<Integer> set=new HashSet<>();//注意Integer里的I是大写的
        System.out.println("36选7摇号如下:");
        while(set.size()<7) {
            int num=(int)(Math.random()*36)+1;//(int)不要忘记
            set.add(num);
        }
        for (Integer integer : set) {
            System.out.print(integer+"\t");
        }
    }
}

执行结果
image.png

相关文章
|
5天前
|
Java 容器
java集合框架复习----(1)
这篇文章提供了Java集合框架的复习资料,包括集合的概念、Collection接口的使用,以及如何通过代码示例演示集合的操作,如增加、删除元素,以及遍历集合元素。
java集合框架复习----(1)
|
4天前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
5天前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List
|
5天前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
10天前
|
存储 算法 Java
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
30 2
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
|
5天前
|
存储 Java
java集合框架复习----(3)Set
这篇文章详细介绍了Java集合框架中的Set集合,包括HashSet和TreeSet的特点、实现原理和使用示例,展示了Set集合的无序性、元素唯一性以及如何通过自定义比较器实现元素的排序。
|
5天前
|
存储 安全 Java
java集合框架学习笔记
这篇文章是关于Java集合框架的详细学习笔记,包括集合的概念、使用方式以及List、Set和Map等集合类型的具体实现和特点。
java集合框架学习笔记
|
10天前
|
安全 算法 Java
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)(下)
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)
47 6
|
10天前
|
存储 安全 Java
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)(中)
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)
50 5
|
10天前
|
存储 安全 Java
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)(上)
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)
42 3