Java连载91-Map常用方法、Hashtable、SortedMap
一、Map常用方法简介
package com.bjpowernode.java_learning;import java.util.HashMap;
import java.util.*;public class D91_1_MapCommonMethod {public static void main(String[] args) {Map persons = new HashMap();//HashMap的默认初始化容量为16,默认加载因子时0.75persons.put("10000","JACK");persons.put("10001","ZHANGXINLEI");persons.put("10002","YAOKUN");persons.put("10003","ZHAOZEKUN");persons.put("10004","LIDUO");persons.put("10005","DIAOBI");//1.判断集合中是否包含这样的value//注意:如果Map中的key重复了,value采用的是“覆盖”System.out.println(persons.containsValue("LUCK"));//2.通过key来获取valueString k = "10001";Object v = persons.get(k);System.out.println(v);//3.通过key删除键值对persons.remove("10002");System.out.println(persons.get("10002"));//4.获取所有的valueCollection values = persons.values();Iterator it = values.iterator();while(it.hasNext()) {System.out.println(it.next());}//5.获取所有的key//以下程序演示遍历Map集合Set keys = persons.keySet();Iterator it2 = keys.iterator();while(it2.hasNext()) {Object k2 = it2.next();Object v2 = persons.get(k2);System.out.println(k2+"-->"+v2);}System.out.println("--------------------------------------");//6.entrySet将Map集合key和value都打印出来,中间使用等号进行连接Set s2 = persons.entrySet();Iterator i3 = s2.iterator();while(i3.hasNext()) {System.out.println(i3.next());}}
}
二、Hashtable
1.HashMap默认初始化容量是16,默认加载因子为0.75
2.Hashtable默认初始化容量是11,默认加载因子为0.75
package com.bjpowernode.java_learning;
import java.util.*;public class D91_2_Hashtable_Propet {public static void main(String[] args) {//1.创建属性类对象Properties p = new Properties();//2.存//注意key是不能重复,如果重复就会造成value覆盖p.setProperty("driver","oracle.jdbc.driver.OracleDriver");p.setProperty("username","scott");p.setProperty("password","tiger");p.setProperty("url","jdbc:oracle:thin:@192.167.1.100:1521:bjpowernode");//3.取出来,通过key获取valueString v1 = p.getProperty("driver");String v2 = p.getProperty("username");String v3 = p.getProperty("password");System.out.println(v1);System.out.println(v2);System.out.println(v3);}}
三、SortedMap
1.SortedMap中的key特点:无序不可以重复,但是存进去的元素可以按照大小进行排列。
2.如果想要自动排序,key部分的元素需要:(1)实现Comparable接口或者(2)单独写一个比较器
package com.bjpowernode.java_learning;
import java.util.*;public class D91_3_TreeMap {public static void main(String[] args) {//Map,key存储Product91,value存储个数SortedMap products = new TreeMap();/*** 匿名内部类(单独写一个比较器的方法)* SortedMap products = new TreeMap(new Comparator(){* public int compareTo(Object o) {* double price1 = this.price;* double price2 = ((Product91)o).price;* if(price1<price2) {* return -1;* }else if(price1>price2) {* return 1;* * }else {* return 0;* }* }*})*///准备对象Product91 p1 = new Product91("西瓜",1.0);Product91 p2 = new Product91("黄瓜",2.0);Product91 p3 = new Product91("南瓜",3.0);Product91 p4 = new Product91("冬瓜",4.0);//添加products.put(p1,8);//后面这个value无所谓,我们暂且认为是斤数products.put(p2,4);products.put(p3,4);products.put(p4,4);//遍历Set keys = products.keySet();Iterator it = keys.iterator();while(it.hasNext()) {Object k = it.next();Object v =products.get(k);System.out.println(k+"-->"+v);}}
}
class Product91 implements Comparable{String name;double price;Product91(String name,double price){this.name = name;this.price = price;}public String toString() {return "Poduct91(name=" + name + ",price=" + price +")";}public int compareTo(Object o) {double price1 = this.price;double price2 = ((Product91)o).price;if(price1<price2) {return -1;}else if(price1>price2) {return 1;}else {return 0;}}
}
四、源码:
D91_1_MapCommonMethod.java
D91_2_Hashtable_Propet.java
D91_3_TreeMap.java
https://github.com/ruigege66/Java/blob/master/D91_1_MapCommonMethod.java
https://github.com/ruigege66/Java/blob/master/D91_2_Hashtable_Propet.java
https://github.com/ruigege66/Java/blob/master/D91_3_TreeMap.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
Java连载91-Map常用方法、Hashtable、SortedMap相关推荐
- JAVA线程安全Map解析
JAVA线程安全Map解析 HashTable 结构 线程安全的实现 Collections.synchronizedMap 线程安全的实现 ConcurrentHashMap 线程安全的实现 Con ...
- Java集合类之Map的HashMap之常用方法的使用
Java集合类之Map的HashMap之常用方法的使用 任务描述 使用 HashMap 集合操作菜单 相关知识 1.什么是 HashMap HashMap 是 Map 接口的实现类,它存储的内容是键值 ...
- Java中的Map【二】SortedMap接口
所使用的jdk版本为1.8版本,先看一下SortedMap在JDK中Map的UML类图中的位置: 2.1.2 SortedMap接口 SortedMap<K,V>继承Map ...
- (7)Java数据结构--集合map,set,list详解
MAP,SET,LIST,等JAVA中集合解析(了解) - clam_clam的专栏 - CSDN博---有颜色, http://blog.csdn.net/clam_clam/article/det ...
- 深入Java集合学习系列:Hashtable的实现原理
第1部分 Hashtable介绍 和HashMap一样,Hashtable也是一个散列表,它存储的内容是键值对(key-value)映射.Hashtable继承于Dictionary,实现了Map.C ...
- Java基础之map总结
map的基础理解 话不多说,先上图,可以这样简单的对容器中的map进行分类: 我们在Java开发中,除了最常用的基本数据类型和String对象之外,也会经常用到集合类.集合类中存放的都是对象的引用,而 ...
- Java 集合系列11: Hashtable深入解析(1)
戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 QQ群:766946816 概要 前一章,我们学习了HashMap.这一 ...
- java list set map的区别_Java集合类List/Set/Map的区别和联系
Java集合类List/Set/Map的区别和联系 一.Array , Arrays Java所有"存储及随机访问一连串对象"的做法,array是最有效率的一种. 1. 效率高,但 ...
- Java小知识-----Map 按Key排序和按Value排序
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...
最新文章
- 我爱淘二次冲刺阶段1
- (6) 查看汉字转换成字节数组后的字节值
- JSP与servlet之间的传值方式
- C++新旧类型转换小记
- MyBatis(二)——多对一、一对多
- yum安装mysql5.6
- Fluent Web API集成测试
- Android studio 更换maven源
- 2019最烂密码榜单出炉,教你设置神级密码!
- jQuery 前端操作
- java开发面试流程
- Github渗透测试工具库
- 硬盘划分主分区、扩展分区、逻辑分区、活动分区有什么不同?
- 31个全网最常用python实现(体系学习,学完显著提高代码复用能力)
- 什么是好用的身份证实名认证api接口?其应用场景有哪些?
- tex liv模板_微软向所有人开放Liv​​e Mesh
- python的多任务处理
- 【入门】已知一个圆的半径,求解该圆的面积和周长
- LeetBook哈希表专题题解(详解/一题多解)
- 加密软件的问答-加密软件与密码学有什么关系?