java的Set, List, Map简单介绍
Set, List, Map
Set和List,Map都是集合,Set和List都是继承于Collection接口,而Map不是。
1.Map(映射)
:Map是以key,Value的形式存储数据的映射集合,在取出数据时也是以key去获取value的值。
.HashMap:一个典型的继承Map的类,内部是基于散列表来存取数据,大大的提高了数据的访问速度。key的值是不能重复的,但是value值是可以重复。
.LinkedHashMap:类似于HashMap,只是迭代遍历时是按照插入的顺序排列的。
.TreeMap:以树的形式存储数据,迭代遍历的值是经过排序的。
主要方法:
void put(Object key, Object value); 像map集合插入元素
Object get(Object key); 根据key的值取得所映射的元素
Object remove(Object key); 删除key所映射的元素,并返回该元素
void putAll(Map m); 将符合标准的map插入到此map中
void clear(); 清空整个集合
Set keySet(); 获取所有的key值
Collection values(); 获取所有的value值
因为Map的key是不可重复的,所以获取的key值存入Set集合,而value是可重复的,所以存入Collection
2.Set(集合)
Set集合是一个不可重复,无序的集合。与Colletion一模一样
.HashSet:内部以HashMap来存储数据的HashSet的值为HashMap的key值,HashMap的value是一个Object的类
.TreeSet:TreeSet类实现了SortedSet接口,对集合中的对象进行排序
主要的方法:
void add(Object obj); 向集合添加一个元素
boolean remove(Object obj); 删除集合中的指定元素, 成功返回true
void clear(); 清空整个集合
Object[] toArray(); 将集合转换为一个数组
boolean contains(Object obj) 集合是否存在obj元素
遍历Set集合需要使用迭代器Iterator
Iterator it = set.iterator();
while (it.hasNext()) { // 是否存在下一个元素
it.next(); // 存在,取得下一个元素
}
3.List(列表)
List继承于Collection,但是相比较于Set,List在继承Collection的同时,添加了跟多的方法,且List集合是线性存储
.ArrayList:内部以Array的形式实现,优点:查找访问速度快
.LinkedList:内部以链表的形式实现,优点:插入,删除等操作速度快
List集合可以使用新循环和迭代器遍历集合:
for:
for (Object obj : list) {
System.out.println(obj);
}
Iterator:
Iterator it = list.iterator();
while(it.hasNext()) {
Systemo.out.println(it.next());
}
主要方法:
void add(Object obj); 添加元素
void add(int index, Object obj); 插入元素到指定位置
void get(int index); 取得指定位置元素
void remove(int index); 删除指定位置元素
int indexOf(Object obj); 制定元素的地址
void toArray(); 将集合转换为数组
int Size(); 集合的长度
java的Set, List, Map简单介绍的更多相关文章
- Java EE设计模式(主要简单介绍工厂模式,适配器模式和模板方法模式)
Java EE设计模式分为三种类型,共23种: 创建型模式:单例模式.抽象工厂模式.建造者模式.工厂模式.原型模式. 结构型模式:适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式 ...
- Java并发:ThreadLocal的简单介绍
作者:汤圆 个人博客:javalover.cc 前言 前面在线程的安全性中介绍过全局变量(成员变量)和局部变量(方法或代码块内的变量),前者在多线程中是不安全的,需要加锁等机制来确保安全,后者是线程安 ...
- Java静态检测工具/Java代码规范和质量检查简单介绍(转)
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...
- 【细说Java】方法重载的简单介绍
1. 什么是重载 方法名称相同,但它们的参数类型或个数不同,这样,方法在被调用时编译器就可以根据参数的类型与个数的不同加以区分,这就是方法的重载. 既然可以通过参数类型或参数个数来作为重载条件,那返回 ...
- Java中基本类型和引用类型(简单介绍)
8种基本类型 一.4种整型 byte 1字节 -128——127 short 2 字节 -32,768 —— 32,767 in ...
- java中的泛型,简单介绍。 修饰方法的用法
一.<R> ( R r ) 默认object 可以存所有类型. R 这个是随便定义的大写字母,前后要保持一致性! package com.aaa.test; /* * 演示 泛型 ...
- Java -- POI -- 入门使用以及简单介绍
1.创建工作簿 (WORKBOOK) HSSFWorkbook wb = new HSSFWorkbook(); FileOutputStream fileOut = new FileOutputSt ...
- Java之字节码(3) - 简单介绍
转载来自 首先了解一下理论知识: 字节码: Class文件是8位字节流,按字节对齐.之所以称为字节码,是因为每条指令都只占据一个字节,所有的操作码和操作数都是按字节对齐的.如:0×03表示iconst ...
- Java中的wait方法 简单介绍。
一 wait方法怎么用? package com.aaa.threaddemo; /* * 多线程中的wait方法? public final void wait() throws Interrupt ...
随机推荐
- 系统安全-LDAP
LDAP服务器 1.目录服务 目录是一个为查询.浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好像Linux/Unix系统中的文件目录一样.目录数据库和关系数据库不同,它有优异的读性能 ...
- ECharts整合HT for Web的网络拓扑图应用
ECharts图形组件在1.0公布的时候我就已经有所关注.今天在做项目的时候遇到了图标的需求,在HTfor Web上也有图形组件的功能.可是在尝试了下详细实现后,发现HT for Web的图形组件是以 ...
- PHP网站加网站访问量统计
新建cnt.php <?php $n=file_get_contents('cnt.txt'); $n++; file_put_contents('cnt.txt',$n); echo &quo ...
- 【BZOJ3252】攻略 DFS序+线段树(模拟费用流)
[BZOJ3252]攻略 Description 题目简述:树版[k取方格数] 众所周知,桂木桂马是攻略之神,开启攻略之神模式后,他可以同时攻略k部游戏. 今天他得到了一款新游戏<XX半岛> ...
- 九度OJ 1116:加减乘除 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1466 解决:902 题目描述: 根据输入的运算符对输入的整数进行简单的整数运算. 运算符只会是加+.减-.乘*.除/.求余%.阶乘!六个运 ...
- React深入源码--了解Redux用法之Provider
在Redux中最核心的自然是组件,以及组件相关的事件与数据流方式.但是我们在Redux中并没有采用传统的方式在getInitialState()中去初始化数据,而是采用Provider统一处理,省去了 ...
- 剑指Offer:旋转数组的最小数字【11】
剑指Offer:旋转数组的最小数字[11] 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4 ...
- Windows下配置PHPUnit(pear已弃用,使用phpunit.phar)
一.配置PHPUnit 首先到PHPUnit官网(点此进入)下载相应的版本.php 5.5及以下版本请使用PHPUnit 4.8.得到 .phar 文件,并把名字改为 phpunit.phar . 把 ...
- HDU4965 Fast Matrix Calculation —— 矩阵乘法、快速幂
题目链接:https://vjudge.net/problem/HDU-4965 Fast Matrix Calculation Time Limit: 2000/1000 MS (Java/Othe ...
- 分布式session之token解决方案实现
基于令牌(Token)方式实现Session解决方案,因为Session本身就是分布式共享连接 用token代替session 废话不多说,看项目: pom.xml <project xmlns ...