一、List集合

1、List实现的超级父类接口:Collection

存储一组不唯一(允许重复),有序的对象。

2、了解ArrayList类

A):定义的格式:ArrayList<具体类型> 集合名 =  new ArrayList<具体类型>();

B):数据的存储方式:底层还是用数组存储

C):对象的类型:在List集合中,如果定义集合对象时没有定义定义对象的类型,就表示什么类型的对象都可以直接存储到List集合中,如果想要运用里面的元素,则需要用instanceof来判断元素的类型。格式 :元素 instanceof 所判断的类型;返回true或false。后续需要强转。

D):集合的设计:泛型的方式进行类型指定,ArrayList<具体类型>

特点:元素有序、可重复,可变大小的容器

遍历:for循环即可

E):基本操作:

增加:集合名.add(元素); 加在集合最后,

集合名.add(数字,元素); 加载指定的位置

集合名.addAll(另一个集合名);  加在最后

集合名.addAll(数字,另一个集合名);   加载指定位置

删除:集合名.remove(数字);   移去指定位置的元素

集合名.remove(元素);   移去集合中第一次出现的指定元素(如果存在)

集合名.removeALL(另一个集合名);  移去另一个集合中的所有元素

集合名.retaintALL(另一个集合名);   仅保留另一个集合中的所有元素

集合名.clear();  清空集合

判断/获得:集合名.get(数字);   获得指定位置的元素

集合名.contains(元素);   判断集合是否包含该元素,是则返回true

集合名.contains(另一个集合名); 判断是否包含另一个集合的所有元素

集合名.indexOf(元素);   返回该元素的索引,无则返回-1

集合名.equals(元素); 判断该元素是否与集合的元素一致  返回true或false

改:集合名.set(数字,元素); 用该元素替换指定位置的元素

其它:集合名.size(); 获取集合的大小

二、Set集合

1、Set实现的超级父类接口:Collection

2、了解HashSet类

A):定义的格式:  HashSet<具体类型> 集合名 =  HashSet<具体类型>();

B):数据的存储方式:遵循Hash算法来存储数据

C):对象的类型:必须要定义集合对象类型,否则会影响后续的使用

D):集合的设计:泛型的方式进行类型指定:HashSet<具体类型>

特点:元素无序、不可重复,可变大小的容器

注意:底层并非真正的无序,遵循Hash算法来保证数据的存储,但是我们作为使用者,就理解为无序

遍历:需要使用迭代器:Iterator<类型> 名称 = 集合名.iterator();

E):基本操作:

增加:集合名.add(元素);   添加指定元素(之前集合不过包含的)

删除:集合名.remove(元素);  移去指定的元素

集合名.clear();    清空集合

判断:集合名.containts(元素);  如果集合包含此元素,返回true

其它:集合名.size();   获得集合的大小

Iterator<类型> 名称 = 集合名.iterator();  用于集合的遍历

三、Map集合

1、Map没有实现的超级父类接口,不是Collection的直接接口子类

2、了解HashMap类

A):定义的格式:HashMap<类型,类型> 集合名 = new HashMap<类型,类型>();

B):数据的存储方法:key+value的存储方式

C):对象的类型:必须要定义集合对象类型,否则会影响后续的使用

D)集合的设计:泛型的方式进行类型的指定:HashMap<具体类型>

特点:一条数据,是由两部分组成:键和值,元素无序、不可重复, 可变大小的容器

遍历:需要使用键的迭代器   Set<类型> 名称1 = 集合名.keySet();

Iterator<类型> 名称 = 名称1.iterator();

E):基本操作

增加:集合名.put(键,值);  在此映射中关联指定值与指定键(是put,不是add)

删除:集合名.remove(键);  从映射中移除指定键的映射关系(如果存在)

判断:集合名.containsKey(键);  如果此映射包含对于指定键的映射关系,返回true

集合名.containsValue(值); 如果此映射将一个或多个键映射到指定值,返回true

其它:集合名.size();  获得集合的大小

注意:在Map集合中,一个键只能对应有一个值,但一个值可以有多个键对应,如果说放(put)了一个相同的键到map中,则新元素会替换原来的元素,会把替换掉的元素返回出来,你可以接收到,并做后续处理

java中三大集合框架的更多相关文章

  1. 菜鸟日记之 java中的集合框架

    java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...

  2. Java中的集合框架(上)

    Java中的集合框架概述 集合的概念: Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象. 集合的作用: 1.在类的内部,对数据进行组织: 2.简单的快速的搜索大数据量的 ...

  3. Java中的集合框架-Collections和Arrays

    上一篇<Java中的集合框架-Map>把集合框架中的键值对容器Map中常用的知识记录了一下,本节记录一下集合框架的两个工具类Collections和Arrays 一,Collections ...

  4. Java中的集合框架-Map

    前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从 ...

  5. Java中的集合框架-Collection(二)

    上一篇<Java中的集合框架-Collection(一)>把Java集合框架中的Collection与List及其常用实现类的功能大致记录了一下,本篇接着记录Collection的另一个子 ...

  6. Java中的集合框架

    概念与作用 集合概念 现实生活中:很多事物凑在一起 数学中的集合:具有共同属性的事物的总体 java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象 在编程时,常常需要集中存放多 ...

  7. Java中的集合框架(下)

    学生选课--判断Set中课程是否存在 package com.imooc.collection; import java.util.ArrayList; import java.util.Arrays ...

  8. Java中的集合框架-Collection(一)

    一,Collection接口 在日常的开发工作中,我们经常使用数组,但是数组是有很多的局限性的,比如:数组大小固定后不可修改,只能存储基本类型的值等等. 基于数组的这些局限性,Java框架就产生了用于 ...

  9. JAVA 中的集合框架

    java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 一.集合与数组 数组:(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知 ...

随机推荐

  1. 04 . Filebeat简介原理及配置文件和一些案例

    简介 Beats轻量型数据采集器 Beats 平台集合了多种单一用途数据采集器.它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据. Beats系列 全 ...

  2. 微信PC端多开的秘密

    微信电脑端也能多开 昨天,偶然从好朋友小林(微信公众号:小林Coding)处得知,他的电脑居然可以同时上两个微信号. 手机端多开微信我知道,像华为.小米等手机系统都对此做了支持,不过在运行Window ...

  3. 性能测试 -- docker安装influxdb

    一.前提 1.项目已经部署好 2.docker已经安装好 二.docker安装influxdb 1.下载influxdb镜像:docker pull tutum/influxdb    1)超时报错: ...

  4. web自动化 -- 消息提示框处理 (alert、confirm、prompt)

    一.前提知识 1.警告消息框(alert) 警告消息框提供了一个"确定"按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说用户必须先关闭该消息框然后才能继续进行操作. 2. ...

  5. java文件导出过程 CS、BS差别

    最近在做一个需求,类似和navicat工具差不多的,通过java代码吧数据库表的数据导出来.jdbc获取数据库连接,查询表数据,分批次用流写入文件txt.csv.json.xls.xlsx,搞定之后, ...

  6. Nginx(一)Linux上的Nginx安装步骤

    一.Windows下安装 解压:nginx-windows 双击: nginx.exe 能看到nginx欢迎界面说明,nginx安装成功 演示下 nginx做静态服务器 二.Linux下安装 (1). ...

  7. phpcms根据二级栏目列表写的三级栏目列表

    <div class="container"> <!--左边树状导航--> <div class="CNLTreeMenu" id ...

  8. matplotlib颜色线条及绘制直线

    plt.axhline(y=0,ls=":",c="yellow")#添加水平直线 plt.axvline(x=4,ls="-",c=&qu ...

  9. 自制廉价的LED+LCD型投影仪

    文档标识符:PROJECTOR_T-D-P6 作者:DLHC 最后修改日期:2020.7.30 本文链接:https://www.cnblogs.com/DLHC-TECH/p/PROJECTOR_T ...

  10. 1-Numpy的通用函数(ufunc)

    一.numpy“通用函数”(ufunc)包括以下几种: 元素级函数(一元函数):对数组中的每个元素进行运算 数组级函数:统计函数,像聚合函数(例如:求和.求平均) 矩阵运算 随机生成函数 常用一元通用 ...