JavaSE Collection集合

集合:是java中提供的一种容器,可以用来存储多个对象。可是我们前面学习的数组也是可以保存多个对象的,为什么还要提供集合容器呢?集合和数组它们有啥区别呢?

  • 数组的长度是固定的。一旦创建完成不能改变长度。并且只能保存同一类型的数据。
  • 集合的长度是可变的。会随着保存的元素个数的增加而扩容。并且可以保存不同类型的数据。

集合按照其存储结构可以分为两大类,分别是:

  • 单列集合java.util.Collection
  • 双列集合java.util.Map

Collection:是单列集合类的顶层父接口,它有两个重要的子接口:

  • java.util.List:特点是元素有序、元素可重复。底层维护的是数组。每个元素都有对应的下标。有两个主要的实现类

    • java.util.ArrayList
    • java.util.LinkedList
  • java.util.Set:特点是元素无序,而且元素不可重复。主要实现类有:
    • java.util.HashSet
    • java.util.TreeSet

Collection是所有单列集合的父接口,因此在Collection中定义了单列集合( List和Set )通用的一些方法,这些方法可用于操作所有的单列集合。方法如下:

  • public boolean add(E e): 把给定的对象添加到当前集合中 。
  • public void clear() :清空集合中所有的元素。
  • public boolean remove(E e): 把给定的对象在当前集合中删除。
  • public boolean contains(E e): 判断当前集合中是否包含给定的对象。
  • public boolean isEmpty(): 判断当前集合是否为空。
  • public int size(): 返回集合中元素的个数。
  • public Object[] toArray(): 把集合中的元素,存储到数组中。
 1 import java.util.ArrayList;
 2 import java.util.Collection;
 3
 4 public class Demo1Collection {
 5     public static void main(String[] args) {
 6         // 创建集合对象
 7         // 使用多态形式
 8         Collection<String> coll = new ArrayList<String>();
 9         // 使用方法
10         // 添加功能  boolean  add(String s)
11         coll.add("小李广");
12         coll.add("扫地僧");
13         coll.add("石破天");
14         System.out.println(coll);
15
16         // boolean contains(E e) 判断o是否在集合中存在
17         System.out.println("判断  扫地僧 是否在集合中" + coll.contains("扫地僧"));
18
19         //boolean remove(E e) 删除在集合中的o元素
20         System.out.println("删除石破天:"+coll.remove("石破天"));
21         System.out.println("操作之后集合中元素:"+coll);
22
23         // size() 集合中有几个元素
24         System.out.println("集合中有"+coll.size()+"个元素");
25
26         // Object[] toArray()转换成一个Object数组
27         Object[] objects = coll.toArray();
28         // 遍历数组
29         for (int i = 0; i < objects.length; i++) {
30             System.out.println(objects[i]);
31         }
32
33         // void  clear() 清空集合
34         coll.clear();
35         System.out.println("集合中内容为:"+coll);
36         // boolean  isEmpty()  判断是否为空
37         System.out.println(coll.isEmpty());
38     }
39 }

原文地址:https://www.cnblogs.com/ownmg/p/10706821.html

时间: 2024-10-31 15:09:53

JavaSE Collection集合的相关文章

JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的文章,大多都是以罗列记忆点的形式书写的,没有谈论实现细节和逻辑原理.作为个人笔记无可厚非,但是并不利于他人学习.希望能通过这种比较“费劲”的讲解,帮助我自己.也帮助读者们更好地学习Java.掌握Java. 无论你跟我一样需要应聘,还是说在校学生学习Java基础,都对入门和进一步启发学习有所帮助.(关

JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和ArrayList.HashSet.LinkedList等等.根据核心框架图,相信我们都已经对Collection这个JavaSE中最常用API之一有一个较为全面的认识. 这个学习过程,还可以推及到其他常用开源框架和公司项目的学习和熟悉上面.借助开发工具或说明文档,先是对项目整体有一个宏观的认识,再根

一、javaSE (十七)set集合、Collection集合、针对Collection集合我们到底使用谁、在集合中常见的数据结构

1:set集合(理解) (1)Set集合的特点 无序,唯一 (2) Hashset集合(掌握) A:底层数据结构是哈希表(是一个元素为链表的数组) B:哈希表底层依赖两个方法: hashCode()和equals() 执行顺序 首先比较哈希值是否相同 相同:继续执行equals()方法 返回true:元素重复了,不添加 返回fa1se:直接把元素添加到集合 不同:就直接把元素添加到集合 C:如何保证元素唯一性的呢? 由 hashcode()和equals()保证的 D:开发的时候,代码非常的简单

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 * 而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识

遍历Collection集合中的6种方法:

下面的代码演示了遍历Collection集合的6种方法,注意Collection集合的遍历远不止于增强for循环,和迭代器两种. 代码如下: 1 package com.qls.traverse; 2 3 import java.util.ArrayList; 4 import java.util.Arrays; 5 import java.util.Collections; 6 import java.util.Enumeration; 7 import java.util.Iterator;

Java基础知识强化之集合框架笔记05:Collection集合的遍历

1.Collection集合的遍历 Collection集合直接是不能遍历的,所以我们要间接方式才能遍历,我们知道数组Array方便实现变量,我们可以这样: 使用Object[]  toArray():把集合转化成数组,可以实现集合的遍历 代码实现: 1 package cn.itcast_01; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 6 /* 7 * 集合的遍历.其实就是依次获取集合中的每一个元素. 8

【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)

两个月之前准备软考时,简单的从理论上总结了最经常使用的数据结构和算法,比方:线性表,链表,图.在进行java开发时,jdk为我们提供了一系列对应的类来实现主要的数据结构.jdk所提供的容器API位于java.util包内.本文主要是通过简单的介绍Collection集合,向读者简单阐述各个类的基本定义以及其作用,为后面的学习做一下铺垫. 首先,我们先看一下Collection集合的基本结构: 1.Collection接口 Collection是最基本集合接口,它定义了一组同意反复的对象.Coll

Collection集合 和 Map

Collection |--List:元素是有序的,元素可以重复.因为该集合体系有索引.|--ArrayList:底层的数据结构使用的是数组结构.特点:查询速度很快.但是增删稍慢.线程不同步. List集合特有的迭代器.ListIterator是Iterator的子接口. List两种取出方式:1循环,2迭代 |--LinkedList:底层使用的链表数据结构.特点:增删速度很快,查询稍慢.线程不同步.|--Vector:底层是数组数据结构.线程同步.被ArrayList替代了.因为效率低. 在

Collection集合总结

一.集合的概述 1.集合的由来 Java是面向对象的语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储.而我们要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,而在我们Java的基础知识里,我们有哪些容器类型的呢?答案是数组和StringBuffer两种,但是呢?StringBuffer的结果是一个字符串,不一定满足我们的要求,所以我们只能选择数组,这就是对象数组.而对象数组又不能适应变化的需求,因为数组的长度是固定的