Java集合Map接口与Map.Entry学习
(1) 添加、删除操作:
Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在,则返回null
Object remove(Object key): 从映像中删除与key相关的映射
void putAll(Map t): 将来自特定映像的所有元素添加给该映像
void clear(): 从映像中删除所有映射
“键和值都可以为null。但是,您不能把Map作为一个键或值添加给自身。”
(2) 查询操作:
Object get(Object key): 获得与关键字key相关的值,并且返回与关键字key相关的对象,如果没有在该映像中找到该关键字,则返回null
boolean containsKey(Object key): 判断映像中是否存在关键字key
boolean containsValue(Object value): 判断映像中是否存在值value
int size(): 返回当前映像中映射的数量
boolean isEmpty() :判断映像中是否有任何映射
(3) 视图操作 :处理映像中键/值对组
Set keySet(): 返回映像中所有关键字的视图集
“因为映射中键的集合必须是唯一的,您用Set支持。你还可以从视图中删除元素,同时,关键字和它相关的值将从源映像中被删除,但是你不能添加任何元素。”
Collection values():返回映像中所有值的视图集
“因为映射中值的集合不是唯一的,您用Collection支持。你还可以从视图中删除元素,同时,值和它的关键字将从源映像中被删除,但是你不能添加任何元素。”
Set entrySet(): 返回Map.Entry对象的视图集,即映像中的关键字/值对
“因为映射是唯一的,您用Set支持。你还可以从视图中删除元素,同时,这些元素将从源映像中被删除,但是你不能添加任何元素。”
Map.Entry接口
Map的entrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对象都是底层Map中一个特定的键/值对。
通过这个集合的迭代器,您可以获得每一个条目(唯一获取方式)的键或值并对值进行更改。当条目通过迭代器返回后,除非是迭代器自身的remove() 方法或者迭代器返回的条目的setValue()方法,其余对源Map外部的修改都会导致此条目集变得无效,同时产生条目行为未定义。
(1) Object getKey(): 返回条目的关键字
(2) Object getValue(): 返回条目的值
(3) Object setValue(Object value): 将相关映像中的值改为value,并且返回旧值
例子:java代码
Map<String,Integer> map=new HashMap<String,Integer>();
map.put("1", 1);
map.put("2", 2);
map.put("3", 3);
map.put("3", 3);
Iterator itor=map.entrySet().iterator();
while(itor.hasNext()){
Map.Entry<String,Integer> entry=(Map.Entry<String,Integer>)itor.next();
System.out.println("key="+entry.getKey().toString());
System.out.println("values="+entry.getValue().toString());
}
相关推荐
java集合框架 3.6. LinkedHashSet类 4. Map接口 4.1. Map.Entry接口 4.2. SortedMap接口 4.3. AbstractMap抽象类 4.4. HashMap类和TreeMap类 4.4.1. HashMap类 4.4.2. TreeMap类 4.5. LinkedHashMap类 4.6. ...
1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 读取Map中的元素; 3、...
HashMap是基于hashing的原理,我们使用put(key, value)存储对象到HashMap中,使用get(key)从...当我们给put()方法传递键和值时,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来储存Entry对象。
java Map 遍历方法 Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); ...
java 集合类的详细介绍 set map list 以及iterator entry 的介绍
Map是java中非常常用的一个集合类型,我们通常也需要去遍历Map去获取某些值,java 8引入了Stream的概念,那么我们怎么在Map中使用Stream呢? 基本概念 Map有key,value还有表示key,value整体的Entry。 创建一个Map...
SortedMap接口、HashMap类、Hashtable类、Properties类、Map.Entry接口、WeakHashMap类、IndentityHashMap类 集合输出: Iterator、ListIterator、foreach、废除的Enumeration Collections工具类 Comparable接口、...
Java集合## CIT360课程###集合接口: [收藏界面](1_The Collection Interface.txt) •[示例](collectionExample.js) [列表界面](2_The List Interface.txt) •[示例](interfaceExample.js) [The Set](3_The...
学习java的一些笔记和个人总结 9、Collection 和 Collections的区别。 Collection是集合类的上级接口,继承与他的接口主要有Set 和List.。Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种...
java8集合源码从 Java8 到 Java11 - 开发指南 Java 9 Java REPL (JShell) 它代表Java Shell 。 它用于轻松执行和测试任何 Java 构造,如类、接口、枚举等。 模块系统 我们使用 jar 部署基于 Java 的应用程序的方式有...
执行完以上代码后,result列表中的每个Map都是java.util.LinkedHashMap实例,每个Map的都由下面的这三个Entry组成: key=price, value=book.getPrice() key=name, value=book.getName() key=...
java8集合源码Java 9 历史 进步/改进 新版本字符串 接口私有方法 试用资源 匿名内部类的菱形运算符 //Eclipse @SafeVarargs 注解 //Eclipse 不可变 List、Set、Map 和 Map.Entry 的工厂方法 使用 takeWhile() 和 ...
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...
前几天项目上想用map集合一样的东西,简单拿对象拼了一下子,今天闲的慌实现一下 大家不要见笑 代码 var Map = function (){ /************基础变量**************/ var hashmap = {}; var keys = []; var vals...
如果你有很多步骤,流是可以的,但对于简单的步骤(并且简单的步骤更常见)实例化(vs标准,vs集合,vs番石榴)一切都扩展了通常的集合(所以在任何地方都被接受)除了添加的方法示例之外,一切都是可修改的创建、...
Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符...
jetblack-java-utils 实用程序的集合。可枚举一个简单的轻量级 Linq 样式枚举器库,具有针对 Java SE 1.7 开发的流畅 API。 我的用例是一个系统,它提供了大量无法复制的数据集合。 Enumerable 类是接口的包装器,...
Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 13、&和&&的区别。 &是位运算符...
尽管它们为经典的Java集合世界带来了改进的性能和优化的内存使用,但是在实现最基本的代码片段时,它们有时会变得笨拙。 例如,不支持良好的旧迭代,因此,尽管现在所有Java开发人员都习惯了简短而优雅的语法: ...
Map以及内部接口Map.Entry ,它们均在java.util安排。 借助实现Iterable的容器Iterable提供的Iterator ( LinkedList , TreeSet ),您可以使用著名人物的示例来计算有关推文的统计信息。 这项任务的目的 首先,...