首页 > 编程知识 正文

java获取map的value,java升序排列

时间:2023-05-03 08:06:28 阅读:151605 作者:3061

最近开发微信和支付宝(Alipay )的服务端支付,结合词典的排序和url参数向词典的转换操作,整理了工具类:

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.Iterator;

import java.util.LinkedHashMap;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import java.util.TreeMap;

public class MapUtil {

//*

公共静态图字符串,

stringsortmapbykey(mapstring,String map ) {

if(map==null||map.isempty () ) )。

返回空值;

}

地图字符串,

String sortMap=new TreeMap String,

string (新内向的前辈);

sortmap.putall(map;

return sortMap;

}

//*

公共静态图字符串,

stringsortmapbyvalue(mapstring,String oriMap )。

if (or IMAP==null|| or IMAP.isempty () ) )。

返回空值;

}

地图字符串,

stringsortedmap=newlinkedhashmapstring,

String (;

列表映射. entry string,

string entry list=newarraylistmap.entry string,

string(orIMAP.entryset );

collections.sort(Entrylist,new危机的小海豚) );

Iterator Map.Entry String,

String iter=entryList.iterator (;

映射. entry string,

String tmpEntry=null;

wile(Iter.Hasnext () ) ) ) )。

tmpEntry=iter.next (;

sortedmap.put(tmpentry.getkey )、tmpEntry.getValue;

}

return sortedMap;

}

//*

公共静态图字符串,

对象参数2映射(字符串参数)。

地图字符串,

Object map=new HashMap String,

Object (;

if(''.equals(param )|| null==param ) )

返回地图;

}

String[] params=param.split (' );

for(intI=0; i params.length; I ) {

string[]p=Params[I].split('=' );

if(p.length==2) {

map.put(p[0],p[1];

}

}

返回地图;

}

//*

公共状态映射2 URL params (mapstring,stringmap,boolean isSort ) {

if (map==空值) {

返回' ';

}

StringBuffer sb=new StringBuffer (;

liststringkeys=newarrayliststring (map.keyset );

if(issort ) {

collections.sort(keys;

}

for(intI=0; i keys.size (; I ) {

stringkey=keys.get(I;

stringvalue=map.get(key ).toString );

sb.append(key'='value );

sb.append (' );

}

String s=sb.toString (;

if(s.Endswith (' ) ) }

s=s.substring(0,s.lastIndexOf ) ');

}

返回s;

}

}

class内向的前辈implements Comparator String {

@Override

公共输入公司(String str2,String str2) {

returnstr1.comPareto(str2;

}

}

class危机小海豚implementscomparatormap.entry string,String {

@Override

公共字符串比较(entrystring,String me1,entrystring,String me2 ) {

return me1.getValue ().com Pareto (me2.getvalue ) );

}

}

另外,要用map的key ascii代码按升序排列,还有一个简单的方法。 例如,以下语句:

sortedmapsmap=newtreemap(map;

请注意,map是一个现成的无序词典。 依赖SortedMap和TreeMap变换很简单。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。