/*
* $Id: OrderedMap.java,v 1.1 2009/04/28 06:38:23 E000315 Exp $
*
* Copyright (c) 2001, 2002 The Open For Business Project - www.ofbiz.org
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
* OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.peter.apps.util;
import java.util.*;
/**
* OrderedMap - HashMap backed by a linked list.
*
* @author <a href="mailto:jaz@jflow.net">Andy Zeneski</a>
* @version $Revision: 1.1 $
* @since 2.0
*/
public class OrderedMap extends HashMap {
private List orderedKeys = new LinkedList();
/**
* @see java.util.Map#keySet()
*/
public Set keySet() {
return new OrderedSet(orderedKeys);
}
/**
* @see java.util.Map#put(java.lang.Object, java.lang.Object)
*/
public Object put(Object key, Object value) {
if (!orderedKeys.contains(key))
orderedKeys.add(key);
return super.put(key, value);
}
/**
* @see java.util.Map#clear()
*/
public void clear() {
super.clear();
orderedKeys.clear();
}
/**
* @see java.util.Map#remove(java.lang.Object)
*/
public Object remove(Object key) {
if (orderedKeys.contains(key))
orderedKeys.remove(key);
return super.remove(key);
}
}
分享到:
相关推荐
for _, key := range om.Order() { // 假设Order()返回有序的key切片 value := om[key] // 处理value... } ``` 4. **使用第三方库**: - 如果不想自己实现,可以使用第三方库如`github.com/relvacode/ordmap`或`...
MapStruct是一种高效的对象映射框架,它通过注解处理器自动生成类型安全、高性能且无依赖的JavaBean映射代码。在Java开发中,JavaBean之间的转换通常是一个繁琐的任务,尤其是在大型项目中,大量的转换代码不仅影响...
3. ORDER.FRM:可能包含了购买或注册软件的相关信息,用户如果需要获取完整功能可能需要参考这个文件进行购买操作。 4. Readme.txt:通常包含软件的使用指南、更新信息或者开发者的重要说明。 5. LICENSE.TXT:包含...
很久以来,STL中都只提供<map>作为存放对应关系的容器,内部通常用红黑树实现,据说原因是二叉平衡树(如红黑树)的各种操作,插入、删除、查找等,都是稳定的时间复杂度,即O(log n);但是对于hash表来说,由于无法...
代码重点是hash_table,附加std::map与其做对比,实现的是一条sql语句:select c_nationkey, c_mktsegment, count(*), max(c_acctbal) from aaa_customer_1g group by c_nationkey, c_mktsegment order by c_...
additional measurement noise in order to assess how well our algorithm could deal with the inaccuracies of other location measurement systems, such as those based on WiFi and cell tower ...
These are the rows of Z values of the grid, organized in row order. Each row has a constant Y coordinate. Grid row 1 corresponds to ylo and the last grid row corresponds to yhi. Within each row, the ...
有序映射提供以特定顺序存储其项目的映射,该顺序可以以受保护和并发的方式使用。 映射键必须是字符串,但数据可以是任何东西。用法您首先需要制作一张新地图并添加一些数据。 使用 New() 函数创建一个新映射,然后...
order 1 newmap module 安装 $ spm install newmap --save 使用 require('newmap'); //地图类实例化 var map = new NMap("map", { zoom: 1, center: new NXY(116, 39) }); //图层参数设置 var lyrOptionswmts =...
Map, Integer> sortedMap = new TreeMap(Collections.reverseOrder()); //按降序排序 ``` 对于描述中提到的博文链接,由于没有具体内容,我们无法详细讨论。但是通常,这样的博文可能会详细解释Map排序的各种方法、...
### PIX_ORDER (0x0006) **地址:** 0x0006 **描述:** 颜色像素顺序,指示图像中颜色像素的排列方式。 **用途:** 确定像素数据的格式。 **初始值:** 0x01 **读写属性:** 只读 (RO) **备注:** 该值指定了像素的...
Order map[string]interface{} } func Handler(userIDs []int) []Combine { users := getUserContentByIDs(userIDs) orders := getOrderContentByUserIDs(userIDs) ret := make([]Combine, 0, len(users)) ...
=''"> and purc_time=#{purc_time} order by #{purc_time} desc ``` 在上面的示例中,我们定义了一个SELECT语句,参数类型为Map。Map参数可以包含多个键值对,例如purc_id、prod_id、ch_id等。在SQL语句中,我们...
Solving constrained combinatorial optimisation problems via MAP inference without high-order penalties
- **分组与排序**:支持GROUP BY和ORDER BY,帮助用户按特定规则对数据进行分组和排序。 - **自定义函数**:允许用户定义自己的函数,如UDF(用户定义函数)、UDAF(用户定义聚合函数)等。 - **事务管理**:虽然...
【标题】"CS61:Homework 2: Higher Order Functions and Recursion" 在这个作业中,我们将深入探讨Python编程中的两个关键概念:高阶函数(Higher Order Functions)和递归(Recursion)。这两个概念在函数式编程...
"ORDER.FRM"可能是用于处理购买或注册信息的表格,用户可能需要填写以获取完整版软件的授权。 "Readme.txt"是常见的软件文档,其中包含了开发者对软件的使用说明、更新信息、已知问题及解决方法等重要提示。...
在做web开发的时候总会用到jquery 的ajax 技术,然而通过ajax 技术从服务端获取的数据大多是json 格式的数据,所以将不同类型的数据转成json 格式是件很常见的技术,总结一下两种方法!