1. 程式人生 > >List型別的集合根據map中某個鍵的值排序

List型別的集合根據map中某個鍵的值排序

  Collections.sort(list1, new Comparator<Map>() {
        public int compare(Map o1, Map o2) {
            if ((o1.get("e_code") == null && o2.get("e_code") == null) || ("".equals(o1.get("e_code")) && "".equals(o2.get("e_code"))) ){
                 return 0;
            }
            if (o1.get("e_code") == null ||  "".equals(o1.get("e_code"))){
                return 1;
            }
            if (o2.get("e_code") == null || "".equals(o2.get("e_code"))){
                return -1;
            }
            Integer e_code1 = Integer.valueOf(o1.get("e_code").toString()) ;
            Integer e_code2 = Integer.valueOf(o2.get("e_code").toString()) ;
            return e_code1.compareTo(e_code2);
        }
    });

按照list1的map中e_code欄位的大小進行排序,從小到大,並且當此欄位為空時排到最後,比較兩個map中欄位值時當o1大於o2時返回1,o1小於o2時返回-1,當兩個值相等時返回0;

相關推薦

List型別集合根據map某個排序

Collections.sort(list1, new Comparator<Map>() { public int compare(Map o1, Map o2) { if ((o1.get("e_cod

C++(14):判斷map某個是否存在

map的使用過程中會有根據map中是否存在某個鍵值來決定是否向裡面賦值的操作,這裡介紹兩種方式 1.find函式 iterator find ( const key_type& key ); 如果key存在,則find返回key對應的迭代器,如果key不存在,則find返回尾後迭

List集合根據Map某個key對List集合重新排序介紹

例1:List集合資料參考形式如下: [{GLXXLX=03,GLXXBH=20160226105812003},{GLXXLX=01,GLXXBH=20160226105812001},{GLXXLX=02,GLXXBH=20160226105812002}

Mybatis 之 foreach 批處理 map list 的操作

foreach一共有三種類型,分別為List,[](array),Map三種。 foreach的第一篇用來將List和陣列(array)。 下面表格是我總結的各個屬性的用途和注意點。 foreach屬性 屬性 描述 item 迴圈體中的具體物件。支援屬性的點

移除map

背景 專案中需要移除map集合中對應的鍵值對,用以控制資料的變化。 實現 這裡我寫了一個測試方法,通過列印日誌可以直觀的看到map中資料的變化,從而證明這樣的實現方式的正確性

Map對進行遍歷

一定要注意泛型的新增 public static void main(String[] args) { Map<Integer, String> map = ne

php 根據陣列的指定排序根據陣列指定分組

一、 根據陣列中的指定鍵值排序1.1 原陣列如下:    $person =  array(                     array('id'=>1,'name'=>'fj','weight'=>100,'height'=>180),   

刪除map對內容

Iterator<String> iterator = map.keySet().iterator();// map中key(鍵)的迭代器物件 while (iterator.hasNext()){// 迴圈取鍵值進行判斷

【Java必修課】通過Value獲取MapKey的四種方法

1 簡介 我們都知道Map是存放鍵值對<Key,Value>的容器,知道了Key值,使用方法Map.get(key)能快速獲取Value值。然而,有的時候我們需要反過來獲取,知道Value值,求Key值。 本文將用例項介紹四種方法,通過傳入Value值,獲取得到Key值。 2 四種方法 2.1 迴

二維數組按某個排序 FOR PHP

iso 二維 取出 多維 col esc des pri div $arr=[ array( ‘name‘=>‘小壞龍‘, ‘age‘=>28 ), array( ‘name‘=>‘

php 二維數組按某個排序

ble UNC 鍵值 var iso cti desc func esc array_multisort(array_column($arr,‘age‘),SORT_DESC,$arr);php 二維數組按某個鍵值排序

php 對二位陣列按某個排序

<?php $arr = array( array('id'=>2,'price'=>100,'num'=>1), array('id'=>3,'price'=>123,'num'=>1), array('id'=>6,'price'=>11

PHP實現對多維陣列按照某個排序的兩種解決方法

實現對多維陣列按照某個鍵值排序的兩種解決方法(array_multisort和array_sort): 第一種: array_multisort()函式對多個數組或多維陣列進行排序。 //對陣列$h

php二維陣列按某個排序(突然用到以往知識,算是臨時補充筆記吧)

print_r($arr);排序後Array ( [0] => Array ( [name] => 6 [age] => 21 ) [1] => Array (

Map按value排序

大家都知道,在java中的集合Map中按鍵值key排序比較簡單,只需引用集合TreeMap即可,可是怎樣實現按value值排序呢?下面我們來測試一下: public class TestHashMap { public static void main(String[]

php二維陣列按某個排序

function arrSort($arr,$field,$sort='asc'){$newArr = $sortArr = [];foreach($arr as $key=>$value){$newArr[$key] = $value[$field];}if($sor

Python對字典排序

字典是Python的另一種有序的可變資料結構,且可儲存任意型別物件。字典是一種鍵值對的資料容器,每個鍵值(key:value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號“{}”

javalist裡面存放map根據map的某一個欄位進行排序

Java中list裡面存放map,根據map中的某一個欄位進行排序 例如: package com;   import java.util.ArrayList;   import java.util.Collections;   import java.util.Comparator;   impor

Java list裡面存放map根據map的某一個欄位進行排序 lambda

//lambda Collections.sort(list, (o1, o2) -> { String name1 = (String) o1.get("id"); String name2 = (String) o2.get("id"); return name2.

利用Comparator根據多個Map某個共同屬性的value對其進行排序

最近在工作中遇到一個場景,需要對List<Map<String, String>>這樣的結構進行排序,完成此功能後感覺這是一個通用方法,故將此記錄下來,留待以後可能之使用。 其具體情景為,當下有一個List,其中Map結構均相似,且存在一共同屬性ke