Collectioin(java)

Collection简介

打开帮助文档

java.utill //使用时需要导包

Interface Collection


集合层次结构中的根界面 。 集合表示一组被称为其元素的对象。 一些集合允许重复元素,而其他集合不允许。 有些被命令和其他无序。 JDK不提供此接口的任何直接实现:它提供了更具体的子接口的实现,如Set和List 。 该界面通常用于传递集合,并在需要最大的通用性的情况下对其进行操作

创建collection集合的对象

创建collection集合的对象

通常以多态的方式

用Arraylist类 Implements Collection

import java.util.ArrayList;
import java.util.Collection;
public class Collection01 {
public static void main(String[] args) {
Collection<String> c = new ArrayList<>();//多态的形式
/*
boolean add(E e)确保此集合包含指定的元素(可选操作)。
如果此集合由于调用而更改,则返回true 。 (如果此集合不允许重复,并且已包含指定的元素,则返回false。 )
*/
c.add("hello");
c.add("world");
c.add("java");
System.out.println(c);//[hello, world, java],说明ArrayList<>重写了toString方法 }
}
//运行得到 [hello, world, java]

Collection集合 的常用方法

import java.util.ArrayList;
import java.util.Collection;
public class Collection02 {
public static void main(String[] args) {
Collection< String> c = new ArrayList<>(); //boolean add(E e):添加元素
// System.out.println(c.add("hello"));
// System.out.println(c.add("world"));
// System.out.println(c.add("java"));
/*
public boolean add(E e) {
ensureCapacityInternal(size + 1); // Increments modCount!!
elementData[size++] = e;
// return true;//总是返回true,故直接使用
}
*/
c.add("hello");
c.add("world");
c.add("java"); //boolean remove(Object o):从集合中移除指定的元素
// System.out.println(c.remove("java"));//true
// System.out.println(c.remove("javaee"));//false //void clear():清除集合中的元素
// c.clear(); //boolean contains(Object o):判断集合中是否存在指定的元素
// System.out.println(c.contains("hello"));//true
// System.out.println(c.contains("Hello"));//false //boolean isEmpty():判断集合是否为空
// System.out.println(c.isEmpty()); //int size():集合的长度,也就是集合中元素的个数
// System.out.println(c.size()); //输出集合对象
System.out.println(c);
}
}

Collection集合的遍历

在此介绍一个集合专用的遍历方式:迭代器

Iterator:迭代器,集合的专用遍历方式

Iterator iterator():返回此集合元素的迭代器,通过集合的iterator()方法得到

迭代器是通过集合的iterator()方法得到的,所以我们说他是依赖集合而存在的


Iterator中的常用方法:

E next():返回迭代中的下一个元素

boolean hasNext():如果迭代具有更多元素,则返回true


下面是代码实现

public class Collection03 {
public static void main(String[] args) {
Collection<String> c = new ArrayList<>();
c.add("hello");
c.add("world");
c.add("java"); // Iterator<E>iterator():返回此集合元素的迭代器,通过集合的iterator()方法得到
Iterator<String> itr = c.iterator();//返回的是Iterator<E>的implements类Itr的对象
/*这是部分源码
public Iterator<E> iterator() {
return new Itr();
}
private class Itr implements Iterator<E> {
......
}
*/
// E next():返回迭代中的下一个元素
// System.out.println(itr.next());
// System.out.println(itr.next());
// System.out.println(itr.next());
// System.out.println(itr.next());//NoSuchElementException表示被请求的元素不存在。
while(itr.hasNext()){
// System.out.println(itr.next());
String s = itr.next();//我们可能会对s这个对象再次进行操作
System.out.println(s);
}
}
}

以上就是Collection集合的简易介绍

下面是框架图

Collection集合汇总的更多相关文章

  1. Collection 集合框架

    1. Collection 集合框架:在实际开发中,传统的容器(数组)在进行增.删等操作算法和具体业务耦合在一起,会增加程序的开发难度:这时JDK提供了这样的容器---Collection 集合框架, ...

  2. 浅谈Collection集合

    俗话说:一个东西,一件事都离不开三句话:"是什么,为什么,怎么办" 集合是什么: 集合简单的说一个数组集合的高级体现,用来存储数据或对象的容器: 集合为什么存在: 集合只是体现了对 ...

  3. Collection集合的功能及总结

    Collection集合是集合顶层接口,不能实例化 功能 1.添加功能 boolean add(Object obj):添加一个元素 boolean addAll(Collection c):添加一个 ...

  4. JAVA collection集合之 扑克牌游戏

    主要内容:这里使用collection集合,模拟香港电影中大佬们玩的扑克牌游戏. 1.游戏规则:两个玩家每人手中发两张牌,进行比较.比较每个玩家手中牌最大的点数,大小由A-2,点数大者获胜.如果点数相 ...

  5. Collection集合List、Set

    Collection集合,用来保存一组数据的数据结构. Collection是一个接口,定义了所有集合都应该包含的特征和行为 Collection派生出了两类集合 List和Set List接口:Li ...

  6. Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)

    首先,我们先看一下Collection集合的基本结构: 1.Collection接口 Collection是最基本集合接口,它定义了一组允许重复的对象.Collection接口派生了两个子接口Set和 ...

  7. java.util.Map按照key值合并的value的Collection 集合中。

    用java实现把多个map的内容合并的一个resultMap中 代码大致如下 /**  * @author Shalf  */ public class MapUtil { /** * 把partMa ...

  8. javad的Collection集合

    集合框架:★★★★★,用于存储数据的容器. 特点: 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合.因为集合是可变长度的. 集合 ...

  9. Java基础知识强化之集合框架笔记13:Collection集合存储学生对象并遍历

    1. Collection集合存储学生对象并遍历: 需求:存储自定义对象并遍历Student(name,age) 分析: (1)创建学生类 (2)创建集合对象 (3)创建学生对象 (4)把学生对象添加 ...

随机推荐

  1. 打造一款高逼格的Vim神器

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 作者:枫上雾棋 链接:https://segmentfa ...

  2. SQL注入的几种类型

    SQL注入就是: 将构造SQL语句来插入到web提交的数据之中,让其返回数据时运行自己构造的恶意SQL语句. SQL注入构造恶意SQL语句的方法有: 构造堆叠,构造闭合,构造报错,构造时间差,等等 S ...

  3. Python学习4(字典的内存分布)

    1.字典:是python数据类型之一,字典通过花括号来包含数据项,字典的每个元素由2个部分组成,键:值,字典是根据键来找对应的值. data = {"name": "Et ...

  4. 自增特性,外键,级联更新与级联删除,表间关系,SELECT用法,GROUP BY

    自增特性 自动增长的作用: 问题:为数据表设置主键约束后,每次插入记录时,如果插入的值已经存在,会插入失败. 如何解决:为主键生成自动增长的值. 自动增长的语法: 字段名 数据类型 AUTO_INCR ...

  5. 10┃音视频直播系统之 WebRTC 中的数据统计和绘制统计图形

    一.数据统计 在视频直播中,还有一项比较重要,那就是数据监控 比如开发人员需要知道收了多少包.发了多少包.丢了多少包,以及每路流的流量是多少,才能评估出目前用户使用的音视频产品的服务质量是好还是坏 如 ...

  6. 透过实例demo带你认识gRPC

    摘要:gRPC是基于定义一个服务,指定一个可以远程调用的带有参数和返回类型的的方法.在服务端,服务实现这个接口并且运行gRPC服务处理客户端调用. 本文分享自华为云社区<gRPC介绍以及spri ...

  7. Vue 中 watch 的一个坑

    开发所用 Vue 版本 2.6.11 子组件 coma 中两个属性: props: { url: { type: String, default: '' }, oriurl:{ type: Strin ...

  8. vision transformer

    VIT 总览 Step1 Step2

  9. C#获取PLC信息 (KepServer)二

    具体应用呢,不多说了,上代码,取长补短就是原创 using OPCAutomation; using System; using System.Collections.Generic; using S ...

  10. django框架12

    内容概要 csrf相关装饰器 基于中间件思想编写项目 auth认证模块 auth模块方法大全 auth扩展表字段 项目开发流程 bbs数据表分析 内容详情 csrf相关装饰器 基于中间件思想编写项目 ...