Map相关内容

Map 方法
Map 是一个 接口 public interface Map<K,V>
里面的方法有:
int size();
boolean isEmpty();
boolean containsKey(Object key);
boolean containsValue(Object value);
V get(Object key);
V put(K key, V value);
V remove(Object key);
void putAll(Map<? extends K, ? extends V> m);
void clear();
Set<K> keySet();
Collection<V> values();
Set<Map.Entry<K, V>> entrySet();
boolean equals(Object o);
int hashCode();
......
interface Entry<K,V> { Entry为Map接口中的内部接口
提供 方法有:
K getKey();
V getValue();
V setValue(V value);
boolean equals(Object o);
int hashCode();

public static <K extends Comparable<? super K>, V> Comparator<Map.Entry<K,V>> comparingByKey() {
return (Comparator<Map.Entry<K, V>> & Serializable)
(c1, c2) -> c1.getKey().compareTo(c2.getKey());
}

public static <K, V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue() {
return (Comparator<Map.Entry<K, V>> & Serializable)
(c1, c2) -> c1.getValue().compareTo(c2.getValue());
}

public static <K, V> Comparator<Map.Entry<K, V>> comparingByKey(Comparator<? super K> cmp) {
Objects.requireNonNull(cmp);
return (Comparator<Map.Entry<K, V>> & Serializable)
(c1, c2) -> cmp.compare(c1.getKey(), c2.getKey());
}

public static <K, V> Comparator<Map.Entry<K, V>> comparingByValue(Comparator<? super V> cmp) {
Objects.requireNonNull(cmp);
return (Comparator<Map.Entry<K, V>> & Serializable)
(c1, c2) -> cmp.compare(c1.getValue(), c2.getValue());
}
}

int size(); 方法是检索Map集合中包含多少条数据

boolean isEmpty();
该方法判断Map集合对象是否包含内容,也就是判断该Map集合容器是不是空的。
该方法返回值为bolean对象,如果Map集合对象不包含任何内容,则返回true,否则返回false。

boolean containsKey(Object key);
该方法判断Map集合对象中是否包含指定的键名。如果Map集合中包含指定的键名,则返回true,否则返回false。

boolean containsValue(Object value);
该方法判断Map集合中是否包含指定的键值。如果Map集合中包含指定的键值对象,则返回true,否则返回false。
value:要查询的Map集合的指定键值对象

V get(Object key);
根据指定的键 找出对应的值

V put(K key, V value);
添加一个键值对

V remove(Object key);
根据 Map中的键 删除键值对

void putAll(Map<? extends K, ? extends V> m);
该方法用来追加另一个Map对象到当前Map集合对象,它会把另一个Map集合对象中的所有内容添加到当前Map集合对象。
结论:putAll可以合并两个MAP,只不过如果有相同的key那么用后面的覆盖前面的

void clear()
Map.clear方法——从Map集合中移除所有映射关系。执行该方法后,该集合对象的映射内容将为空。

Set<K> keySet();
该方法将获取Map集合的所有键名,并存放在一个Set集合对象中。

遍历Map的方式: Map.Entry 和 Map.entrySet()
Map<String,String> map=new HashMap<String,String>();
map.put("1", "张三");
map.put("2", "李四");
map.put("3", "王五");

System.out.println("方法一:");
Iterator iterator=map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String, String> entry= (Entry<String, String>) iterator.next();
System.out.println("key:"+entry.getKey()+" value"+entry.getValue());
}

System.out.println("方法二:");
for (Map.Entry<String, String> m : map.entrySet()) {
System.out.println("key:"+m.getKey()+" value"+m.getValue());
}
}
}

时间: 2024-07-29 18:20:42

Map相关内容的相关文章

Collection相关内容总结

Java2中有一套设计优良的接口和类组成的Java集合框架Collection,这些类均在java.util包中. 程序员批量对数据或者对象元素处理起来非常方便,程序员可以以这个框架为基础,定义更高级别的数据抽象,如栈.队列以及线程安全的集合等等,满足工作中变化多端的需求. Java2中的集合框架,结构如下: ——————————————————————————————————————————————————————————————————————————————— Collection接口 

EF Code First 配置的相关内容

I.实体间一对一的关系 添加一个PersonPhoto类,表示用户照片类 1 /// <summary> 2 /// 用户照片类 3 /// </summary> 4 public class PersonPhoto 5 { 6 [Key] 7 public int PersonId { get ; set ; } 8 public byte [] Photo { get ; set ; } 9 public string Caption { get ; set ; } // 标题

Flume sink 相关内容

SinkRunner.java 开启线程调用相应的Processor(Policy) , 根据  Policy调用process的返回值来决定线程睡眠时间,每次默认延后1s,最大默认为5s. public class SinkRunner implements LifecycleAware { private static final Logger logger = LoggerFactory .getLogger(SinkRunner.class); private static final

Activity相关内容总结

/*---------------------------------------- *-描述--Activity相关内容总结. *-描述--S1.Activity的7个生命周期 * ☆☆☆☆☆单独活动生命周期: * 1.Activity创建的时候:onCreate() => onStart() => onResume() * 2.按下home键或进入其他活动(失去焦点):onPause() => onStop() * 3.再进入(重获取焦点):onRestart() => onS

Java中Map相关的快速查找算法与唯一性(转载)

原文地址:http://blog.csdn.net/chuyuqing/article/details/19629229 在对<Set和hashCode()>的一篇原创文章写完后,由于对自己的一些论断产生了模糊和怀疑,因此又对Set进行了一些研究,形成本篇. 在Set的使用场景中,我们不外乎看中了她存储数据的唯一性,即不能存储重复值,这在某些应用场合下是很必要的一个特性.那么从更深一层来考虑,Set究竟如何使数据不重复的呢?从另一个层面来考虑,她又如何确保在验证数据是否重复过程中的快速性呢?假

在地图中调用显示FeatureLayer并进行render、popupTemplate、添加图例等相关内容的设置

ArcGIS Server发布完FeatureLayer后,就可以在自己的代码中调用并在地图上显示出来了. 一.代码框架 调用FeatureLayer,要在require开头引入"esri/layers/FeatureLayer"模块.例子使用底图采用智图公司提供的切片图层,更多内容请查看:ArcGIS JavaScript API4.8 底图选择的几种方案. 1 <html> 2 <head> 3 <meta charset="utf-8&qu

移动端 h5开发相关内容总结——CSS篇

移动端 h5开发相关内容总结——CSS篇 标签: css移动 2016-01-06 15:59 5536人阅读 评论(3) 收藏 举报  分类: HTML+CSS(17)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 1.移动端开发视窗口的添加 h5端开发下面这段话是必须配置的 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=n

【转帖】MATLAB 与 音频处理 相关内容摘记

MATLAB 与 音频处理 相关内容摘记 MATLAB 与 音频处理 相关内容摘记 MATLAB 与 音频处理 相关内容摘记 1 MATLAB 音频相关函数 1 MATLAB 处理音频信号的流程 2 音量标准化 2 声道分离合并与组合 3 数字滤波 3 数据转换 5 基于MATLAB 的数字滤波实验6 MATLAB 音频相关函数 声音数据输入输出函数: 可以方便地读写au和way文件,并可控制其中的位及频率. wavread()和wavwriteO. 声音播放: wavplay():播放wav声

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai