遍历map

Java入门(三)——集合概讲

不打扰是莪最后的温柔 提交于 2020-01-04 18:24:45
集合(或者叫容器)是Java的核心知识点,它有着很深的深度。我们这里不会设计多深,仅仅作为了解入门,深入了解请移步各种集合源码文章。好的,下面正是开始介绍... Java集合为何而生 我们知道,Java是一门面向对象编程语言,这也就意味着程序中存在着大量的对象。这个时候问题就来了,我们如何很好的存放和操作对象呢?如果你能明白这个问题,那么你就知道了“集合为何而生”这个问题的答案。 总结一句: Java给我们提供了工具(集合)方便我们去存放和操作多个Java对象 Java集合入门学习 Java集合的目的是方便操作多个对象,同时,它提供一系列的API来供我们操作。因此,在初学Java集合的时候我们更多的是 学习这些API的用法 。 对Java集合的API使用有一定了解之后,我们就应该从 面向对象 的角度去理解它。为什么会抽象出多个接口,以及每个接口有什么特征。 我们可以总结出几个常用的实现类,这几个常用的实现类我们必须知道它的数据结构是什么,什么时候使用这个类。 同时,你还需要学习和了解数据结构: 学完上面的内容后,我们基本掌握了常用集合的数据结构,也就知道了如何选择合适的集合容器去存储我们的对象。总之, 学完常见实现类的数据结构之后,对它们的使用场景也有了更加清晰的认识 。 Java集合类简介 Java集合是一个很庞大的知识点,话不多说,上图感受下: Java集合的

Java入门(三)——集合概讲

℡╲_俬逩灬. 提交于 2020-01-04 03:25:24
集合(或者叫容器)是Java的核心知识点,它有着很深的深度。我们这里不会设计多深,仅仅作为了解入门,深入了解请移步各种集合源码文章。好的,下面正是开始介绍... Java集合为何而生 我们知道,Java是一门面向对象编程语言,这也就意味着程序中存在着大量的对象。这个时候问题就来了,我们如何很好的存放和操作对象呢?如果你能明白这个问题,那么你就知道了“集合为何而生”这个问题的答案。 总结一句: Java给我们提供了工具(集合)方便我们去存放和操作多个Java对象 Java集合入门学习 Java集合的目的是方便操作多个对象,同时,它提供一系列的API来供我们操作。因此,在初学Java集合的时候我们更多的是 学习这些API的用法 。 对Java集合的API使用有一定了解之后,我们就应该从 面向对象 的角度去理解它。为什么会抽象出多个接口,以及每个接口有什么特征。 我们可以总结出几个常用的实现类,这几个常用的实现类我们必须知道它的数据结构是什么,什么时候使用这个类。 同时,你还需要学习和了解数据结构: 学完上面的内容后,我们基本掌握了常用集合的数据结构,也就知道了如何选择合适的集合容器去存储我们的对象。总之, 学完常见实现类的数据结构之后,对它们的使用场景也有了更加清晰的认识 。 Java集合类简介 Java集合是一个很庞大的知识点,话不多说,上图感受下: Java集合的

能快速理解Java_集合类_的文章

落花浮王杯 提交于 2020-01-03 15:14:05
这篇文章是我学习完Java集合类做的笔记和总结,也是用来记录自己从大一开始的IT生涯,如果你想认真细读这篇文章,请做好受虐的准备(建议电脑看),因为这篇文章有点长,ヽ(ー_ー)ノ。 如果在看我这篇文章过程中,发现了错误,望指点。 一、什么是集合? 举个例子:当你有很多书时,你会考虑买一个书柜,将你的书分门别类摆放进入。使用了书柜不仅仅使房间变得整洁,也便于以后使用书时方便查找。在计算机中管理对象亦是如此,当获得多个对象后,也需要一个容器将它们管理起来,这个容器就是集合。 集合本质是基于某种数据结构数据容器。常见的数据结构:数组(Array)、集(Set)、队列(Queue)、链表(Linkedlist)、树(Tree)、堆(Heap)、栈(Stack)和映射(Map)等结构。 下面便 一 . 一 介绍: 其中在两大接口中会有框架图,以方便大家学前、学后在大脑里可以形成一个思维导图,也方便大家检查自己对各各知识点的熟悉程度。 注意: 由于在集合中是有一个参数化类型的,所以在下面的代码里我会 指定成Object 。为什么我要指定为Object呢?因为Java中的Object类是所有类的超类。 先涉及一下泛型的定义:集合类 对象 = new 集合类 (); 也可以先前往 四、泛型,了解U•ェ•*U 二、Collection接口 1、集合类中Collection接口的介绍

java的集合框架最全详解

不想你离开。 提交于 2020-01-01 15:13:07
java的集合框架最全详解(图) 前言: 数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework)。 Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了,这样就大大提高了编程效率。 1. 先说Set和List: 1.1. Set子接口:无序,不允许重复。List子接口:有序,可以有重复元素。具体区别是 Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。<对应类有 HashSet,TreeSet> List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。<相应类有 ArrayList,LinkedList,Vector> Set和List具体子类: 2.2. < 实例比较> HashSet:以哈希表的形式存放元素,插入删除速度很快。 ArrayList:动态数组,LinkedList:链表、队列、堆栈。

自学Java之day13_Collection、泛型

老子叫甜甜 提交于 2019-12-30 00:16:52
Collection集合 集合概述 集合 :集合是java中提供的一种容器,可以用来存储多个数据 集合和数组的区别 数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储 。 集合框架 JAVASE提供了满足各种需求的API,在使用这些API前,先了解其继承与接口操作架构,才能了解何时采用哪个类,以及类之间如何彼此合作,从而达到灵活应用。 集合按照其存储结构可以分为两大类,分别是单列集合 java.util.Collection 和双列集合 java.util.Map。 Collection: 单列集合类的根接口 用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List 和 java.util.Set 。其中, List 的特点是元素有序、元素可重复。 Set 的特点是元素无序,而且不可重复。 List 接口的主要实现类有 java.util.ArrayList 和 java.util.LinkedList , Set 接口 的主要实现类有 java.util.HashSet 和 java.util.TreeSet 。从上面的描述可以看出JDK中提供了丰富的集合类库,为了便于初学者进行系统地学习

JAVASCRIPT 遍历set获取set中的值

筅森魡賤 提交于 2019-12-27 07:13:32
js中Array可以使用下标,Map和Set不能使用下标。但是Array,Map,Set都属于iterable类型。使用iterable内置的forEach方法。 声明set(currentConfigresult是用来接收ajax请求成功后后台传递的值)。 var s = new Set(); currentConfigresult = data.page.result; for ( var j in currentConfigresult) { set.add(currentConfigresult[j].key); } 遍历s的值 s.forEach(function (element, sameElement, set) { if (element == obj.key) { html += "KEY已存在"; } }) 这里的element和sameElement的值相同,都是set里面的值。如果是map,element对应value和sameElement对应key。 来源: CSDN 作者: qq_34359363 链接: https://blog.csdn.net/qq_34359363/article/details/103702860

map遍历性能记录

谁说胖子不能爱 提交于 2019-12-27 02:18:05
map遍历可以通过keySet或者entrySet方式。 性能上: entrySet略胜一筹,原因是keySet获取到key后再根据key去获取value,在查一遍,所以慢一些。 keySet: //先获取map集合的所有键的Set集合 Set<String> keySet = map.keySet(); //有了Set集合,就可以获取其迭代器 Iterator<String> it = keySet.iterator(); while (it.hasNext()) { String key = it.next(); //有了键可以通过map集合的get方法获取其对应的值。 String value = map.get(key); } entrySet: //通过entrySet()方法将map集合中的映射关系取出(这个关系就是Map.Entry类型) Set<Map.Entry<String, String>> entrySet = map.entrySet(); //将关系集合entrySet进行迭代,存放到迭代器中 Iterator<Map.Entry<String, String>> it2 = entrySet.iterator(); while (it2.hasNext()) { //获取Map.Entry关系对象me Map.Entry<String, String>

遍历map的四种方法

本小妞迷上赌 提交于 2019-12-25 18:20:50
方法一 在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。 注意:for-each循环在Java 5中被引入所以该方法只能应用于java 5或更高的版本中。 如果你遍历的是一个空的map对象,for-each循环将抛出NullPointerException,因此在遍历前你总是应该检查空引用。 1 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 2 for (Map.Entry<Integer, Integer> entry : map.entrySet()) 3 { 4 System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 5 } 方法二 通过键找值遍历(效率低) 作为方法一的替代,这个代码看上去更加干净;但实际上它相当慢且无效率。因为从键取值是耗时的操作(与方法一相比,在不同的Map实现中该方法慢了20%~200%)。如果你安装了FindBugs,它会做出检查并警告你关于哪些是低效率的遍历。所以尽量避免使用。 1 for (Integer key : map.keySet()) 2 { 3 Integer value = map

jsp页面遍历List<Map<String,Object>>

。_饼干妹妹 提交于 2019-12-25 15:45:34
多表联查会有此类结果出现, 查阅发现基本解决思路是双重遍历,获取map,entry.value等方法. 最终发现可以使用c:forEach单次遍历,map中的key值大写,即可得到object. Controller层 @RequestMapping("findService.do") public String findAll(ServicePage page,Model model){ List<Map<String,Object>> services = serviceDao.findByPage(page); model.addAttribute("services", services); return "service/service_list"; } jsp页面(myeclipse大写快捷键 Ctrl+Shift+X) <c:forEach items="${services}" var="s"> <tr> <td>${s.ACCOUNT_ID }</td> <td>${s.IDCARD_NO }</td> <td>${s.REAL_NAME }</td> </tr> </c:forEach> 结果 来源: https://www.cnblogs.com/jpfss/p/9675700.html

JSP的C标签遍历Map数据

こ雲淡風輕ζ 提交于 2019-12-23 19:02:55
JSP的C标签遍历Map数据 Map可以实现较为丰富的数据封装。 第一种: 控制器传递到页面的map格式如下: Map<String, User> dataMap = new HashMap<String, User>(); dataMap.put(.....);//封装数据过程 model.addAttribute("dataMap", dataMap); User可以为自定义对象 第二种: Map<String, List<User>> dataMap = new HashMap<String, List<User>>(); dataMap.put(.....);//封装数据过程 model.addAttribute("dataMap", dataMap); 针对以上两种Map,jsp遍历时有一点区别 首先,第一种值为单个对象的Map的遍历 <div > <c:forEach items="${dataMap}" var="dataMap"> <c:set var="mapKey" value='${dataMap.key}' /> <c:set var="user" value='${dataMap.value}' /> <p>用户名:{user.username}</p> <p>年龄:{user.age}</p> </c:forEach> </div>