java中三大集合框架
一、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中三大集合框架的更多相关文章
- 菜鸟日记之 java中的集合框架
java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...
- Java中的集合框架(上)
Java中的集合框架概述 集合的概念: Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象. 集合的作用: 1.在类的内部,对数据进行组织: 2.简单的快速的搜索大数据量的 ...
- Java中的集合框架-Collections和Arrays
上一篇<Java中的集合框架-Map>把集合框架中的键值对容器Map中常用的知识记录了一下,本节记录一下集合框架的两个工具类Collections和Arrays 一,Collections ...
- Java中的集合框架-Map
前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从 ...
- Java中的集合框架-Collection(二)
上一篇<Java中的集合框架-Collection(一)>把Java集合框架中的Collection与List及其常用实现类的功能大致记录了一下,本篇接着记录Collection的另一个子 ...
- Java中的集合框架
概念与作用 集合概念 现实生活中:很多事物凑在一起 数学中的集合:具有共同属性的事物的总体 java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象 在编程时,常常需要集中存放多 ...
- Java中的集合框架(下)
学生选课--判断Set中课程是否存在 package com.imooc.collection; import java.util.ArrayList; import java.util.Arrays ...
- Java中的集合框架-Collection(一)
一,Collection接口 在日常的开发工作中,我们经常使用数组,但是数组是有很多的局限性的,比如:数组大小固定后不可修改,只能存储基本类型的值等等. 基于数组的这些局限性,Java框架就产生了用于 ...
- JAVA 中的集合框架
java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 一.集合与数组 数组:(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知 ...
随机推荐
- Java面试题汇总(持续更新)
1. ==和equals的区别 答: 基础数据类型比较:只能使用==,比较值是否相等 引用数据类型比较: 没有重写equals方法:==和equals没有区别,比较的都是引用是否指向了同一块内存 重写 ...
- vue :没有全局变量的计数器
created: created () { let num = null this.mFun(num) }, methods: methods:{ mFun(m){ if (m === null) { ...
- vue怎么自定义组件
我们在搭建好的手脚架中 进行使用 一.在src =>components => 创建XXbtn文件夹用来存放你的组件 =>在创建一个vue的文件 . 二.在src => com ...
- C#程序员装机必备软件及软件地址
装机必备 Visio2010 下载 http://gd.ddooo.com/visio2010_12530.rar Office 安装包 http://xz.cncrk.com:8080/soft/k ...
- pdfmake.js使用及其源码分析
公司项目在需要将页面的文本导出成DPF,和支持打印时,一直没有做过这样的功能,花了一点时间将其做了出来,并且本着开源的思想和技术分享的目的,将自己的编码经验分享给大家,希望对大家有用. 现在是有一个文 ...
- kafka笔记——kafka启动
1. 准备 阿里云Linux服务器一个(Centos7) 腾讯云Linux服务器一个(CentOs7) zookeeper,kafka压缩包 Java环境配置好 要死....脚本之家 2. 安装 zo ...
- 页面上怎么使用svg
svg标签直接在页面使用 不多说. 其他标签使用svg 除了直接使用svg标签,还有如下方法: <object data="your.svg" type="imag ...
- Bootstrap++:bootstrap-select 使用
效果图: HTML: <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.or ...
- Mybatis开启二级缓存(全局缓存)的方法
Mybatis开启二级缓存的方法 开启步骤 1.在 mybatis-config.xml 的配置文件中进行显示配置,开启二级缓存(全局缓存) 2.在 Mapper.xml 文件中添加cache标签 一 ...
- ABC 158 F - Removing Robots dp 单调栈
LINK:Removing Robots 没想到 自闭. 考虑了一个容斥 发现不合法方案难以计算. 就算可以计算也几乎是n^2的做法. 考虑dp 左边会对右边产生影响 所以考虑先dp右边的再考虑左边的 ...
