遍历map

Map集合的遍历

∥☆過路亽.° 提交于 2019-12-02 05:03:10
一,JDK8以前版本,使用entrySet()遍历Map类集合,只是遍历了一次就把key和value都放到了entry中,效率更高。 而不是用keySet()方式进行遍历,keySet()其实是遍历了两次,一次是转为Iterator对象,另一次是从hashfMap中取出key对应的value。 Map<String, String> map = new HashMap<>(); map.put("1", "111"); map.put("2", "222"); map.put("3", "333"); Set<Entry<String, String>> entrySet = map.entrySet(); for(Entry<String, String> entry:entrySet) { System.out.println(entry.getKey()+","+entry.getValue()); } 二,JDK8版本,使用forEach()遍历 //遍历Map集合 Map<String, String> map = new HashMap<>(); map.put("1", "111"); map.put("2", "222"); map.put("3", "333"); map.forEach((key,value)->{ System.out.println(key+

jQuery中的循环遍历方法

好久不见. 提交于 2019-12-02 03:23:02
1、each()方法   $.each(obj,function(index,value){})   原生JS中的forEach()方法:   arr.forEach(function (value, index) {   })   2、map()   $.map(arr,function(index ,value){})   原生JS中的map方法:     arr.map(function (value,index,array) {           })      3、区别    来源: https://www.cnblogs.com/qqinhappyhappy/p/11728644.html

JavaSE学习笔记:集合框架、迭代器、泛型

穿精又带淫゛_ 提交于 2019-12-02 00:47:22
文章目录 一、集合框架概述 1.Collection和Map 2.Collection集合 3.Collection集合常用方法 二、迭代器 1.常用方法 2.如何获取迭代器 3.使用步骤(掌握) 4.使用实例 5.迭代器使用原理 三、增强型for循环(更常用) 1.简介 2.使用实例 3.注意点 四、泛型 1.泛型的概念 2.使用泛型的好处 2.1使用集合对象,不使用泛型会带来的问题 2.1.1实例 2.1.2注意点 2.2使用集合使用泛型 2.2.1实例 2.2.2注意点 3.定义和使用含有泛型的类 4.定义和使用含有泛型的方法 4.1定义方法 4.2实例 5.定义和使用含有泛型的接口 5.1第一种使用方式 5.2第二种使用方式 6.泛型通配符 6.1基本使用:只能作为方法的参数使用 6.2不能创建对象使用 6.3泛型的上限限定和下限限定(了解) 6.3.1上限 6.3.2下限 五、List集合 1、List接口的三大特点 2.List接口中带索引的方法(独有) 2.1方法使用实例 3.注意:操作索引的时候,一定要防止索引越界异常 4.ArrayList实现类 5.LinkedList实现类 5.1特点 5.2特有方法 5.3使用实例 6.Vector(了解) 六、Set集合 1.特点 2.HashSet(常用来去重) 2.1特点 2.2使用实例 3.哈希值 3

【Java】遍历Map<String,String>

浪子不回头ぞ 提交于 2019-12-01 23:06:47
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); //通过Map.entrySet遍历key和value for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //通过Map.keySet遍历key和value for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } //通过Map.values()遍历所有的value,但不能遍历key for (String v : map.values()) { System.out.println("value= " + v); } 来源: https://www.cnblogs.com/jxd283465/p/11720324.html

Map--常用属性及方法

喜夏-厌秋 提交于 2019-12-01 16:48:16
1.size属性:返回Map结构的成员总数 const map = new Map([   ['name','张三'],   ['title','Author'] ]) console.log(map.size) // 2 2.set 和get 3.has方法:返回一个布尔值,判断某个键是否在当前Map对象当中 map.has('name') //true 4.delete方法--成功返回true 5.遍历方法---3个遍历器生成函数,1个遍历方法 keys()--返回键名的遍历器 values()--返回键值的遍历器 entries()--返回所有成员的遍历器 forEach()--遍历Map的所有成员 来源: https://www.cnblogs.com/fdxjava/p/11693995.html

Java中遍历Map的几种方式

余生长醉 提交于 2019-12-01 12:03:10
首先初始化一个全局 map public static Map<String, String> map = new HashMap<String, String>() { private static final long serialVersionUID = 1L; { put("name", "test"); put("gender", "man"); put("country", "China"); } } @BeforeClass public void initMap() { System.out.println(map); // {country=China, gender=man, name=test} } @AfterClass public void clearMap() { map.clear(); System.out.println(map); // {} } 遍历 keySet @Test public readKeys() { System.out.println(map.keySet()); // [country, gender, name] for(String key : map.keySet()) { System.out.println(key + ":" + map.get(key)); // country:China // gender

遍历java集合元素的方法

試著忘記壹切 提交于 2019-11-30 16:03:00
java集合由两个接口派生出来:Collection和Map。 遍历Collection的实现类: ,因此对Collection的实现类来说,遍历方法基本一致: 1、使用Lambda表达式遍历集合。这是java8新增的一种遍历方式,形式简单,性能欠佳。 List<MoniFacilityBom> bomList=facilityBomService.findFacility(facilityBom); //第一种遍历方法 bomList.forEach(obj -> System.out.println("遍历1"+obj)); 2、Iterator接口遍历。Iterator也属于java集合范畴,但它不存储任何元素,唯一作用是遍历,也被称为迭代器,迭代器性能最优。 //第二种遍历方法,通过集合对象的iterator()建立迭代器执行迭代 Iterator t = bomList.iterator(); while (t.hasNext()){ System.out.println("遍历2"+t.next()); } 3、使用Lambda表达式遍历Iterator。 //第三种遍历方法 Iterator tt = bomList.iterator(); tt.forEachRemaining(obj-> System.out.println("遍历3"+obj)); 4

set与map

浪尽此生 提交于 2019-11-30 16:01:55
一、Set    1. 基本用法     set是ES6提供的新的数据结构,类似于数组,但成员的值都是唯一的,没有重复的值。           可以用作数组去重。          向Set加入值的时候不会改变类型,所以5 和 “5” 是两个值,Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”,它类似于精确相等运算符(===),      主要的区别是向 Set 加入值时认为 NaN 等于自身,而精确相等运算符认为 NaN 不等于自身。      两个对象总是不相等的.           向Set实例中添加两个空对象,里面就有两个空对象,添加两个{a:1}对象,里面变成四个成员。     Set中不能添加object,会报错。        2. Set实例的属性与方法     .size属性返回的是Set中成员的总数。     Set实例的方法分为两大类: 操作方法 (用于操作数据)和 遍历方法 (用于遍历成员)。     下面先介绍四个 操作方法 。     .add(val):添加某个值,返回Set本身。     .has(val):返回的为布尔值,表示该值是否为Set的成员。     .delete(val):删除某个值,返回布尔值,表示是否删除成功。     .clear ():清除所有成员,没有返回值。       

Java面试-容器的遍历

杀马特。学长 韩版系。学妹 提交于 2019-11-30 02:39:01
当我们用增强for循环遍历非并发容器(HashMap、ArrayList等),如果修改其结构,会抛出异常 ConcurrentModificationException ,因此在阿里巴巴的Java规范中有说到: 不要在foreach循环里进行元素的remove/add操作,remove元素请使用Iterator方式。 ,但是不是真的就不可以在增强for循环中修改结构吗?其原理又是什么呢? ConcurrentModificationException的含义 ConcurrentModificationException 可以将其通俗的翻译为 并发修改异常 ,那么关注点就在 并发 和 修改 了。也许有些人会说,我只是在单线程中修改了,并没有并发操作,但系统也抛了这样的这样的错误,这是为什么呢?别急,我们看看它的源码解释: This exception may be thrown by methods that have detected concurrent modification of an object when such modification is not permissible. 这个异常就是应用程序在做一些系统不允许的操作时抛出的。记住,只要是系统不允许的操作,就一定会抛错的。 后面有一个值得注意的地方 Note that fail-fast behavior

js 数组遍历map踩坑

别等时光非礼了梦想. 提交于 2019-11-29 21:39:31
在react或者vue进行页面渲染时候,我们比较喜欢使用map循环遍历属性相似的节点,例如列表渲染 1 let res: any[] | JSX.Element[] = [] 2 Object.keys(item).forEach((rowItem: any) => { 3 if (rowItem === 'id' || rowItem === 'show' || rowItem === 'text') { 4 return 5 } else { 6 res.push( 7 <div style={{ paddingBottom: '10px' }}> 8 <span className="desc-title">{`${item[rowItem].label}:`}</span> 9 <span className="desc-text">{`${item[rowItem].value}`}</span> 10 </div>, 11 ) 12 } 13 }) 我们在map循环一个数组的时候,在map中加入判断条件例如item.key = id时候,map不会中断条件而继续执行item.key != id的条件,循环中不会直接跳出循环; map和foreach都不会跳出循环 1 let arr = [ 2 {id:'1',num:'1'}, 3 {id:'2',num:'2'},