Java Collection集合

一.集合概述

集合,就类似一个容器,可以存储多个数据。

之前学习的数组也是一种容器,而集合与数组主要区别在于:

  • 数组的长度是固定的,集合的长度是可变的
  • 数组存储的是同一类型的元素,主要是基本类型,而集合存储的都是对象,而且对象的类型可以不一致

Java的集合按照存储结构可以分为两类:单列集合Collection和双列集合Map,两类集合都在java.util包中。

java.util包主要提供了三种类型的集合:

  • List:一种元素有序,元素可重复的集合
  • Set:一种没有重复元素,元素无序的集合
  • Map:一种存储键值对的集合

Java集合的设计有两个特点:

  • 实现了接口和实现类的分离,比如有序表的接口是List,具体实现类有ArrayList,LinkedList等
  • 支持泛型,可以限制一个集合只能存储同一种类型的元素

Java中提供了丰富的集合类库,以下为Collection的继承体系:

二.Collection集合的通用方法

Collection类是所有单列集合的父接口,其定义了一些通用方法,可以用于所有的单列集合。

主要有以下方法(不是全部):

  • boolean add(E e):把给定的对象添加到当前集合中
  • void clear():清空集合中所有的元素
  • boolean remove(Object o):把给定对象在当前集合中删除,删除成功返回true,失败返回false
  • boolean contains(Object o):判断当前集合中是否包含给定的对象,包含返回true,不包含返回false
  • boolean isEmpty():判断当前集合是否为空,为空返回true,不为空返回false
  • int size():返回集合中元素的个数
  • Object[] toArray():把集合中的元素存储到数组中
import java.util.*;

public class CollectionTest {
    public static void main(String[] args) {
        // 使用多态创建
        Collection<String> c = new ArrayList<String>();

        // 添加元素
        c.add("张三");
        c.add("李四");
        c.add("王五");

        System.out.println(c);  // 输出:[张三, 李四, 王五]

        // 判断是否包含一个"李四"的元素
        System.out.println(c.contains("李四")); // 输出:true
        // 删除"李四"
        boolean ret = c.remove("李四");
        System.out.println("删除李四成功?:" + ret);   // 输出:删除李四成功?:true
        // 再判断一次
        System.out.println(c.contains("李四")); // 输出:false

        // 判断集合是否为空
        System.out.println(c.isEmpty());    // 输出:false

        // 返回集合的个数
        System.out.println(c.size());   // 输出:2

        // 将集合转换为数组
        Object[] array = c.toArray();
        for(int i = 0; i < array.length; i++) {
            System.out.print(array[i] + " ");
        }// 输出:张三 王五
        System.out.println();
        // 清空集合
        c.clear();

        // 判断集合是否为空
        System.out.println(c.isEmpty());    // 输出:true
    }
}

原文地址:https://www.cnblogs.com/LucasBlog/p/12206942.html

时间: 2024-08-04 19:07:03

Java Collection集合的相关文章

Java Collection集合方法

一.简单方法 package cn.itcast.day15; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; /** * 集合的由来: * 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储. * 而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器内的对象,在我们目前所学的知识里面,有哪些是容

Java——Collection集合、迭代器、泛型

集合 ——集合就是java提供的一种容器,可以用来存储多个数据. 集合和数组的区别 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. 集合存储的都是对象.而且对象的类型可以不一致.在开发中一般当对象多的时候,使用集合进行存储. 接口继承关系与实现 集合类存放于 Java.util 包中,主要有 3 种:set(集).list(列表包含 Queue)和 map(映射). 1. **Collection:**Collection 是集合 List.Se

Java Collection集合中的iterator方法

Iterator接口的概述 /** * java.util.Iterator接口:选代器(对集合进行遍历) * 有两个常用的方法 * boolean hasNext() * 如果仍有元素可以迭代,则返回true. * 即判断集合中还有没有下ー个元素,有就返回true,没有就返回 false * E next() * 返回送代的下一个元素. * 即取出集合中的下一个元素 * iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象. * 获取实现类的方式比较特

Java——Collection集合的常规用法

Collection 接口是 List .Set 和 Queue 接口的父接口,该接口定义的方法即可用于操作 Set 集合,也可用于操作 List 和Queue 集合. Collection 接口里定义了如下操作集合元素的方法. /** * boolean add(Object o): 该方法用于向集合里添加一个元素.如果集合对象被添加操作改变了,则返回 true * * boolean addAll(Collection c):该方法把集合c里的所有元素添加到指定集合里.如果集合对象被添加操作

java collection 集合源码分析(一)

collection 为java集合的接口,collection的接口继承Iterable public interface Collection<E> extends Iterable<E> 没有自己在画类图了 找到网上有大哥画的关系图如下 上图中有个位置可能错了,AbstrctList应该继承自 public abstract class AbstractList<E> extends AbstractCollection<E> implements L

Java Collection集合接口

Collection接口是赖以集合框架建立的基础.它声明的所有集合的核心方法.这些方法概括于下表中. 因为所有集合都要实现Collection,熟悉它的方法是对框架有清晰的认识很有必要.这几种方法都可以抛出一个 UnsupportedOperationException. SN 方法及描述 1 boolean add(Object obj) 添加obj 到调用集合.如果obj被添加到集合,则返回true.如果obj已经是集合的成员或者如果集合不允许重复则返回false. 2 boolean ad

java collection 集合源码分析(二) map

Map(接口) Map是一个独立的接口,内部包含一个Entry的接口,用于管理每个节点 public interface Map<K,V>{     interface Entry<K,V> {          } } AbstractMap 抽象类实现Map接口,常用的HashMap和TreeMap都继承此类 public abstract class AbstractMap<K,V> implements Map<K,V> 这个类下面提供了一个将Map

java collection 集合源码分析(三) map

TreeMap 首先看下TreeMap的头部声明的两个变量,TreeMap的排序利用红黑树进行     /**      * The comparator used to maintain order in this tree map, or      * null if it uses the natural ordering of its keys.      *      * @serial      */     private final Comparator<? super K> 

Java基础知识强化之集合框架笔记04:Collection集合的基本功能测试

1. Collection集合的基本功能测试: 1 package cn.itcast_01; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 6 /* 7 * 集合的由来: 8 * 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储. 9 * 而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识