用js和java分别对数组元素根据指定的字段进行排序

1.js进行排序

var arr=[
{num:3,name:"排序3"},
{num:1,name:"排序1"},
{num:2,name:"排序2"},
{num:4,name:"排序4"},
];
//指定元素排序
    function compare(property){
        return function(a,b){
            var value1 = a[property];
            var value2 = b[property];
            return value1 - value2;
        }
    }
//使用方式
arr.sort(compare('num'));

2.用java进行排序

package com;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test{
	public static void main(String[] args) {
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		Map<String, Object> map1 = new HashMap<String, Object>();
		map1.put("num", "3");
		map1.put("name", "排序3");
		Map<String, Object> map2 = new HashMap<String, Object>();
		map2.put("num", "1");
		map2.put("name", "排序1");
		Map<String, Object> map3 = new HashMap<String, Object>();
		map3.put("num", "2");
		map3.put("name", "排序2");
		Map<String, Object> map4 = new HashMap<String, Object>();
		map4.put("num", "4");
		map4.put("name", "排序4");
		list.add(map1);
		list.add(map2);
		list.add(map3);
	   list.add(map4);
		//排序前
		for (Map<String, Object> map : list) {
			System.out.println(map.get("num"));
		}
		//对list数据进行排序
		Collections.sort(list, new Comparator<Map<String, Object>>(){
			   public int compare(Map<String, Object> o1, Map<String, Object> o2) {
			    String v1 =(String)o1.get("num");
			    String v2= (String)o2.get("num"); 
			    return v1.compareTo(v2);  
		   }
	 });
		//排序后
    	System.out.println("-------------------");
	 	for (Map<String, Object> map : list) {
			System.out.println(map.get("num"));
		}
		
	}
 
}

猜你喜欢

转载自blog.csdn.net/qq_40136782/article/details/109854390