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 ...
随机推荐
- Ubuntu16.04上安装mongoDB
安装MongoDB 现在最新版本是3.4 1: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F37303 ...
- Appium python自动化测试系列之认识Appium(四)
4.1界面认识 在之前安装appium的时候说过我们有两种方法安装,也就有两种结果,一种是有界面的,一种是没有界面的,首先我们先讲一下有界面的,以及界面有哪些东西. 首先看第一幅图,如果你的是win ...
- Android 开发之static引发的冤案
前段时间在android手机系统上开发一个小东西,先介绍一下他吧: 就是当手指点击屏幕不论什么地方的时候会出现点击的特效,就是在你点击屏幕的地方会出现各种效果,比方:雪花纷飞;出现五彩的肥皂泡:鲜花盛 ...
- JQuery 如何获取select选中的值
一.html代码 <select id="ddl"> <option value="100" emoney="12" &g ...
- src/github.com/mongodb/mongo-go-driver/mongo/cursor.go 游标的简洁实用
src/github.com/mongodb/mongo-go-driver/mongo/cursor.go // Copyright (C) MongoDB, Inc. 2017-present./ ...
- JS中正则匹配开头不带空格,结尾也不带空格的字符串
在做项目的时候,要求限制SSID的长度.以及开头和结尾不能是空格. var reg = /^\S.{0,30}\S$/ "$$$ $$".match(reg); ==> ...
- struts2的核心和工作原理 (转)
转自--------http://blog.csdn.net/laner0515/article/details/27692673 在学习struts2之前,首先我们要明白使用struts2的目的是什 ...
- SAP 系统账期开关
(1)OB52 财务账期-C 财务维护表 T001B[维护表T001B] (2)OB29 -C FI 财政年变式 (3)MMPV / MMRV -物料账期 MMPV 商品会计期间设置-结帐期间 [ 如 ...
- Protocol_ISIS
集成ISIS协议 作者:Danbo 2015-7-5 ISIS的意思是表示中间系统,并且是为OSI无连接网络协议(OSI Conectionless Network Protocol,CLNP)设计的 ...
- 常用的Css命名方式
常用的Css命名方式: CSS命名规范: 1.文件命名规范 全局样式:global.css: 框架布局:layout.css: 字体样式:font.css: 链接样式:link.css: 打印样式:p ...