`

MapUtil

    博客分类:
  • Java
 
阅读更多
package com.common.util.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class MapUtil {

private static final Map initMap;
static {
//初始化静态Map,且不能修改。
Map aMap  = new HashMap();
aMap.put(1, "one");
aMap.put(3, "three");
aMap.put(5, "five");
aMap.put(2, "two");
// aMap.put(6, null);
initMap = Collections.unmodifiableMap(aMap);
}

/**
* 取得key List 无序
* @param map
* @return
*/
public static List getMapKeyList(Map map) {

return new ArrayList(map.keySet());


}

/**
* 取得value List 无序
* @param map
* @return
*/
public static List getMapValueList(Map map) {

return new ArrayList(map.values());
}

/**
* 取得entry List 无序
* @param map
* @return
*/
public static List  getMapEntryList(Map map) {

return new ArrayList(map.entrySet());
}

/**
* 取得entry List key有序
* 注:map 不要 null key
* @param map
* @return
*/
public static List getMapEntryListSortKey(Map map){
List entryList = getMapEntryList(map);
Collections.sort(entryList, new Comparator(){

public int compare(Object o1, Object o2) {
Entry e1 = (Entry)o1;
Entry e2 = (Entry)o2;
return e1.getKey().toString().compareTo(e2.getKey().toString());
}
});
return entryList;
}

/**
* 取得entry List value有序
* 注:map 不要 null value
* @param map
* @return
*/
public static List getMapEntryListSortValue(Map map){
List entryList = getMapEntryList(map);
Collections.sort(entryList, new Comparator(){

public int compare(Object o1, Object o2) {
Entry e1 = (Entry)o1;
Entry e2 = (Entry)o2;
return e1.getValue().toString().compareTo(e2.getValue().toString());
}
});
return entryList;
}



/**
* 复制Map, 2个map同步更新
* @param sourceMap
* @return
*/
public static Map copyMap(Map sourceMap){
return Collections.synchronizedMap(sourceMap);
}

/**
* 清空Map,不能用。若要用,则new HashMap();
*/
public static Map emptyMap(Map map){
return Collections.emptyMap();
}




public static void displayList(List list){
    Iterator it = list.iterator();
    while(it.hasNext()){
    System.out.println(it.next().toString());
    }
}


public static void displayMap(Map map){
Iterator it = map.entrySet().iterator();
while(it.hasNext()){
Entry entry = (Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();

System.out.println(key + "====" + value);
}
}

/**
* 链接有序Map
* @return
*/
public static Map getLinkedHashMap(){
Map map = new LinkedHashMap();
// map.put(4, "three");
// map.put(1, "one");
// map.put(2, "two");
// map.put(3, "three");
return map;
}

/**
* 同步,线程安全的map
* @return
*/
public static Map getHashtable(){
Map map = new Hashtable();

return map;
}




public static void main(String[] args) {

// displayMap(MapUtil.initMap);

// List list = getMapKeyList(MapUtil.initMap);
// displayList(list);
//
// List list2 = getMapValueList(MapUtil.initMap);
// displayList(list2);
//
// List list3 = getMapEntryList(MapUtil.initMap);
// displayList(list3);
//
// System.out.println("========");
//
// List list4 = getMapEntryListSortKey(MapUtil.initMap);
// displayList(list4);
//
// System.out.println("========");
//
// List list5 = getMapEntryListSortValue(MapUtil.initMap);
// displayList(list5);

Map linkedHashMap = getLinkedHashMap();
displayMap(linkedHashMap);




// System.out.println("========");
// Map m1 = copyMap(MapUtil.initMap);
// displayMap(m1);
// System.out.println("========");
// m1.put("2", "four");
// displayMap(m1);
//
// System.out.println("========");
// displayMap(MapUtil.initMap);

}

}
分享到:
评论

相关推荐

    mapUtil1.js

    mapUtil1.js

    js Map 工具类 MapUtil

    `MapUtil`工具类则是为了方便开发者更高效、更灵活地操作`Map`对象。下面我们将详细探讨`MapUtil`工具类可能包含的功能以及其背后的原理。 `MapUtil`工具类通常会提供一些常见的实用方法,以增强`Map`对象的功能。...

    mapUtil js工具类

    mapUtil js工具类

    MapUtil.java.zip_GPS距离_MapUtil.java_gpsutil java_tradet6w_地图距离

    GPS点之间的距离 点到直线的距离 计算两个经纬度之间的距离 计算点c与线段ab的关系数据,采用向量点积的方法

    MapUtil.java

    资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,FontUtil,ImageUtil,IOUtil, IPUtil, MapUtil,MailUtil, NumberUtil,...

    MapUtils工具类,轻松转换map数据与实体类

    在Java编程中,数据转换是常见的操作之一,特别是在处理数据绑定和对象映射时。`MapUtils`工具类就是为了解决这样的问题而设计的,它简化了`Map`对象和实体类之间的转换过程。本篇文章将深入探讨`MapUtils`工具类的...

    MapUtils_java_Maputils_

    在Java编程中,Map接口是集合框架的重要组成部分,它提供了键值对的存储方式,广泛应用于数据处理和对象关系映射。MapUtils类通常是为了提供对Map接口的便捷操作和实用方法而创建的辅助工具类。...

    bean和map之间转换的帮助类

    主要实现bean和map之间的相互转换,主要提供两个方法beanToMap将bean转换成Map 和mapToBean 将Map转换成bean 每次下载都没有积分,不差积分的大神赞助点呗 写了这一小段代码,供新手学习,大神就别拍砖了 身板弱扛...

    java Pojo转Map

    这里提供一个简单的工具类`Pojo2MapUtil`: ```java import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; public class Pojo2MapUtil { public static <T> Map, Object> ...

    小而全的Java工具类库,使Java拥有函数式语言般的优雅.zip

    5. 集合工具:扩展了Java内置的集合类,如ListUtil、MapUtil等,提供了更多的实用方法。 6. 网络工具:支持TCP、UDP通信,HTTP请求,DNS解析等网络操作。 7. 加密解密工具:包含MD5、SHA、AES、DES等多种加密算法...

    Java工具类合集

    此外,可能会有针对集合操作的工具类,如`ListUtil`、`MapUtil`,它们提供了对Java集合框架的扩展和优化。 这个合集可能还包括线程池管理工具,如`ThreadPoolUtil`,用于创建和管理线程池,提高多线程环境下的性能...

    agile-framework-common-util-master_java_

    `common-util`模块是Agile Framework Common Util的核心部分,它包含了各种通用的工具方法,除了`ObjectUtil`外,可能还包括`ArrayUtil`、`CollectionUtil`、`MapUtil`等,分别提供了对数组、集合和映射的操作支持。...

    js操作map类UtilMap

    在JavaScript中,原生的`Map`对象虽然提供了丰富的功能,但其操作方式与Java中的`Map`有所不同,不那么直观。为了使习惯于Java开发的程序员在JS中也能便捷地操作映射数据结构,我们可以创建一个名为`UtilMap`的对象...

    android 常用工具封装

    8. **集合操作**:ListUtil和MapUtil可能提供了对集合操作的支持,如查找、过滤、合并等。 9. **数据存储**:PreferencesUtil和SharedPreferencesUtil通常用于轻量级的数据存储,如用户偏好设置。 10. **文件操作*...

    java工具类(多年积累) 下载后导入就可以使用~

    5. **MapUtil**:对于Map接口的操作,包括创建Map,检查键值对,合并Map,转换Map等。例如,`putAllIfAbsent()`在Map中添加键值对,但只在键不存在时才添加。 6. **NumberUtil**:处理数字相关的操作,可能有数字...

    java工具类28+26.rar

    3. **集合工具类**:如ListUtil、MapUtil、SetUtil等,它们提供了一组方便的集合操作方法,如清空、复制、检查空集、合并集合等。这些工具类可以帮助我们更高效地管理和操作Java集合框架。 4. **IO流工具类**:如...

    Hutool 参考文档.pdf

    Map工具(MapUtil)、Base64编码解码(Base64)、Base32编码解码(Base32)和CSV文件处理工具(CsvUtil)等为编码转换和文件操作提供了实用工具。 可复用字符串生成器(StrBuilder)、Unicode编码转换工具...

    JXstar平台开发手册1.2

    - **org.jxstar.util.MapUtil**: 提供Map操作的工具方法。 - **org.jxstar.util.StringUtil**: 提供字符串操作的工具方法。 - **org.jxstar.util.key.KeyCreator**: 键值生成工具类。 - **org.jxstar.util.key.Code...

Global site tag (gtag.js) - Google Analytics