TreeMap倒序以及遍历】的更多相关文章

TreeMap倒序 TreeMap默认是按照Key给排序的,但是有的时候我们需要倒序,比如Key是日期,我们需要按照日期倒序显示(最近的时间在前面),类似下面这种情况 TreeMap倒序方法 treeMap.descendingMap(); 遍历 Iterator iterator = treeMap.keySet().iterator(); while (iterator.hasNext()) { String key = (String) iterator.next(); // 获取Valu…
1.TreeMap集合倒序排列 import java.util.Comparator; /** * 比较算法的类,比较器 * @author Administrator * */ public class MyCmp implements Comparator<Object> { // 实现倒序 @Override public int compare(Object o1, Object o2) { int x = o2.toString().compareTo(o1.toString())…
一.概述 在Map的实现中,除了我们最常见的KEY值无序的HashMap之外,还有KEY有序的Map,比较常用的有两类,一类是按KEY值的大小有序的Map,这方面的代表是TreeMap,另外一种就保持了插入顺序的Map,这类的代表是LinkedHashMap. 本文介绍TreeMap. Java提供了两种可以用来排序的接口,分别是Comparable和Comparactor, 两者分别说明如下: 1. Comparable 目前这是一个泛型接口,只有一个方法compareTo,  参与比较的类需…
概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMap数据结构第3部分 TreeMap源码解析(基于JDK1.6.0_45)第4部分 TreeMap遍历方式第5部分 TreeMap示例 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部…
转载 Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例 一.TreeMap 简单介绍 什么是Map? 在数组中我们通过数组下标来对数组内容进行索引的,而在Map中我们通过对象来对 对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对. 什么是TreeMap? TreeMap是一个有序的key-value集合,是非线程安全的,基于红黑树(Red-Black tree)实现.其映射根据键的自然顺序进行排序,或者根据创建映射时提供的 Com…
概要 这一章,我们对TreeMap进行学习. 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部分 TreeMap介绍 TreeMap 简介 TreeMap 是一个有序的key-value集合,它是通过红黑树实现的.TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合.TreeMap 实现了NavigableMap接口,意味着它支持一系列的…
本文转自 http://www.cnblogs.com/skywang12345/p/3310928.html 概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部分 TreeMap介绍 TreeMap 简介 TreeMap 是一个有序的key-…
概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMap数据结构第3部分 TreeMap源码解析(基于JDK1.6.0_45)第4部分 TreeMap遍历方式第5部分 TreeMap示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3310928.html 第1部分 TreeMap介绍 TreeMap 简…
转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部分 TreeMap介绍 TreeMap 简介 TreeMap 是一个有序的key-value集合,它是通过红黑树实现的.TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合.TreeMap 实现了NavigableMap接口,意味着它支持一系列的导航方法.比如返回有序的key集合.TreeM…
package test0; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; /**…
今天写个无聊的东西!for循环的使用! 例如以下:定义a数组,b为伪数组! var a = [1,2,3,0,5,4]; var b = document.getElementsByTagName('li'); //[<li>1</li>,<li>2</li>,<li>3</li>,<li>4</li>,<li>5</li>] 第一种:错误型! for ( var i = 0; i &l…
在遍历list,删除符合条件的数据时,总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) for i in range(len(num_list)): if num_list[i] == 2: num_list.pop(i) else: print(num_list[i]) print(num_list) 会报异常:IndexError: list index out of range 原因是在删除list中的元素后,list的实际长度变…
这是看过的第一个jdk源码(从立下目标以来):TreeMap.说实话断断续续的看了有好几天了,我觉得我犯了一个错误,就像一开始说的那样,我打算完完全全看懂TreeMap关于红黑树的实现方式,后来我想了想,相对于花费这个对我的收益并不是特别大,而且看的过程中也有很多困惑,虽然我知道它每一步在做什么,但是我还不知道为什么要这么做,经过权衡,我决定先暂时放下TreeMap中关于对红黑树具体的实现,暂且记下有这回事. 一.简单理解 最近也在看数据结构和算法,对红黑树也有了大致的理解,TreeMap是对红…
这是看过的第一个jdk源码(从立下目标以来):TreeMap.说实话断断续续的看了有好几天了,我觉得我犯了一个错误,就像一开始说的那样,我打算完完全全看懂TreeMap关于红黑树的实现方式,后来我想了想,相对于花费这个对我的收益并不是特别大,而且看的过程中也有很多困惑,虽然我知道它每一步在做什么,但是我还不知道为什么要这么做,经过权衡,我决定先暂时放下TreeMap中关于对红黑树具体的实现,暂且记下有这回事. 一.简单理解 最近也在看数据结构和算法,对红黑树也有了大致的理解,TreeMap是对红…
如下代码,遍历列表,删除列表中的偶数时,结果与预期不符. a = [11, 20, 4, 5, 16, 28] for i in a: if i % 2 == 0: a.remove(i) print a 得到的结果为: >>> [11, 4, 5, 28] 其中偶数4和28都没有删掉,原因在于for循环在遍历列表时,是按照元素的索引依次访问元素的,当删除其中一个元素后,后面的元素会依次前移,即就是删除索引1处的元素20后,将访问索引为2的元素,但由于删除元素20之后,后面的元素会依次前…
Java中的集合(十一) 实现Map接口的TreeMap 一.TreeMap简介(基于JDK1.8) TreeMap是基于红黑树数据结构,是一个key-value的有序集合,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法.因为红黑树是平衡的二叉搜索树,所以其put.get.remove的时间复杂度都为log(n). (一).TreeMap与Map的关系 (二).数据结构 红黑树操作包括插入.删除.左旋.右旋,这里有个可视化的红…
算法竞赛中的常用JAVA API :HashMap 和 TreeMap 摘要 本文主要介绍Map接口下的HashMap和TreeMap. HashMap HashMap是基于哈希表的 Map 接口的实现,是无序的 clear()//清空. containsKey(Object key)//如果包含指定键,返回true containsValue(Object value)//如果包含指定值, 返回true get(Object key)//返回指定键所映射的值:如果对于该键来说,此映射不包含任何…
摘要 本文主要介绍Map接口下的HashMap和TreeMap. HashMap HashMap是基于哈希表的 Map 接口的实现,是无序的 clear()//清空. containsKey(Object key)//如果包含指定键,返回true containsValue(Object value)//如果包含指定值, 返回true get(Object key)//返回指定键所映射的值:如果对于该键来说,此映射不包含任何映射关系,则返回 null. isEmpty()//如果此映射不包含键-…
1.需求:已知有如下map,要求按照key倒序排列遍历. Map<String, Integer> map = new HashMap<>(); map.put("1", 1); map.put("3", 3); map.put("2", 2); map.put("5", 5); map.put("4", 4); 2.实现 ①自定义排序方法,返回有序map private Map&l…
迭代器模式:指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示. 迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素. 流行语言如Java.Ruby 等都已经有了内置的迭代器实现,许多浏览器也支持JavaScript的Array.prototype.forEach. jQuery中的迭代器 $.each( [1, 2, 3], function( i, n ){ console.log( '当…
一.集合的出现 1.1.集合简述 面向对象语言对事物的体现都是以对象形式,为了方便对多个对象的操作,就对象对象进行存储,集合就是存仪储对象最常用的一种试 1.2.数组和集合都是容器 数组也存对象,存储同一种类型,但数组是固定长度的,集合长度是可变. 数组中可以存储基本数据类型,集合只能存储对象 1.3.集合特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. 1.4.结构 二.集合共性方法 2.1.Collection接口顶级 Collection 层次结构 中的根接口.Co…
 Map Map集合:该集合存储键值对,一对一对的往里存,而且要保证键的唯一性. Map |------HashTable:底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.JDK1.0,效率低. |------HashMap:底层是哈希表数据结构,允许使用 null值和 null键,该集合是不同步的.JDK1.2,效率高. |------TreeMap:底层是二叉树数据结构,线程不同步,可以给map集合中的键进行排序. 和Set很像,其实,Set底层就是使用了Map集合…
[NSArray] 一 定义 1 不可变数组 2 oc中数组的元素可以是任何对象 3 数字中装有元素的地址 二 初始化 NSArray *变量 = [[NSArry alloc] initWithObjects:对象...,nil]; 三 使用场景 1 遍历数组 A 枚举 NSEnumerator *enums = [array1 objectEnumerator]; while (obj=[enums nextObject]) B 下标 for (i=0;i<count;i++) { C 快速…
重要练习:将字符串中的字母按如下格式显示: a(1)b(2)...... 代码及思路如下: /* 获取字符串中字母的次数,并打印出如下格式a(1)b(2)c(3)...... 思路: 先定义一个方法,将该功能进行封装. 1.首先将字符串转换成字符数组 方法是toCharArray(); 2.定义一个map容器用来接收每个字符, 因为结果是有序的可以使用TreeMap 3.遍历字符数组 for循环. 将字母作为 键 去map集合中去查询该字母,如果返回null,说明map集合中没有该字母,那么将该…
类 <string> std::string String类的定义 , 其也是个模板类 typedef basic_string<char> string; String class Strings是代表一串字符的对象 标准string类提供了类似于标准容器的接口,但是增加处理字符串所需的特殊的特征 string是basic_string 类模板使用char类型作为字符类型实现的类.使用默认的字符特征和分配器类型.成员类型 成员类型 定义 value_type char trait…
没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在  session 中找不到 currentUser 的值,则直接跳转到其他页面. <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE htm…
一.概述: 本文主要总结单链表常见操作的实现,包括链表结点添加.删除:链表正向遍历和反向遍历.链表排序.判断链表是否有环.是否相交.获取某一结点等. 二.概念: 链表: 一种重要的数据结构,HashMap等集合的底层结构都是链表结构.链表以结点作为存储单元,这些存储单元可以是不连续的.每个结点由两部分组成:存储的数值+前序结点和后序结点的指针.即有前序结点的指针又有后序结点的指针的链表称为双向链表,只包含后续指针的链表为单链表,本文总结的均为单链表的操作. 单链表结构: Java中单链表采用No…
和hadoop的目的一样,给你数据,然后取TopN.数据如下: 取出数据在排名前十的数据. 代码如下: package com.test.book; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set…
集合 可以使用集合的三个具体类HashSet.LinkedHashSet.TreeSet来创建集合 HashSet类 负载系数 当元素个数超过了容量与负载系数的乘积,容量就会自动翻倍 HashSet类可以用来存储互不相等的任何元素.考虑到效率的因素,添加到散列集中的对象必须以一种正确分散散列码的方式来实现hashCode方法. 如果两个对象相等,那么这两个对象的散列码必须一样.两个不相等的对象可能有相同的散列码 继承Collection接口,所以Collection中的所有方法,都可以用 例子:…