java List<Item> its=new ArrayList<Item>(); Map按value中的某字段排序

public List<Item> getAllItem(){

Map<Long, Item> itemDic = new HashMap<Long, Item>();
            List<Map.Entry<Long, Item>> entryList = new ArrayList<Map.Entry<Long, Item>>(itemDic.entrySet());  
            if(entryList.size()>0){
                List<Item> its=new ArrayList<Item>();
                Collections.sort(entryList, new Comparator<Map.Entry<Long, Item>>() {     
                    public int compare(Map.Entry<Long, Item> it1, Map.Entry<Long, Item> it2) {        
                        return (it1.getValue().getType() - it2.getValue().getType());//根据value排序  
                    }  
                });  
                
                for (int i = 0; i < entryList.size(); i++) {  
                    its.add(itemDic.get(entryList.get(i).getKey()));
                }
                System.out.println("按类型排序:>>>>>00"+its);  
                return its;
            }
        return null;
     }

时间: 2024-08-05 02:19:59

java List<Item> its=new ArrayList<Item>(); Map按value中的某字段排序的相关文章

stream根据map中的一个字段排序

org = org.stream().sorted(Comparator.comparing(SynchronousDataService::sort2)).collect(Collectors.toList());// 排序 private static String sort2(Map<String, Object> a) {  return (String) a.get("uri"); } 原文地址:https://www.cnblogs.com/sikuaiwu/p

滑动RecyclerView时出现异常: java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 6(offset:6).state:30

RecyclerView 存在的一个明显的 bug 一直没有修复: java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position… 重现的方法是:使用 RecyclerView 加官方下拉刷新的时候,如果绑定的 List 对象在更新数据之前进行了 clear,而这时用户紧接着迅速上滑 RV,就会造成崩溃,而且异常不会报到你的代码上,属于RV内部错误.初次猜测是,当你 clear 了 list

词典的实现(3)--使用JAVA类库ArrayList实现Map数据结构

1,在词典的实现(2)-借助顺序表(数组)实现词典文章中使用了自定义的数组代替ArrayList,并实现了Map数据结构的基本功能.而借助JAVA类库ArrayList类的一些方法可以更加容易地实现Map. 2,实现思路如下 ArrayListDictionary.java 中定义了一个ArrayList的对象,该ArrayList对象用来存储Entry类的对象,而Entry类封装了(key,value).这样,利用ArrayList类的一些方法来间接地操作(key,value),从而实现各种词

Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)

一.学习ArrayList与Map时,关于常用遍历方法的记录如下:  二.附源码如下: package com.study.in.myself; import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map; public class Study16 { public static void main (String

Java集合:List、Set和Map的区别,ArrayList和LinkedList有何区别..........

一.数组和集合的区别: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型): 集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. 数组和集合相比唯一的有点就是速度快. 二.Java集合分类: 1.Collection(接口):派生的两个子接口:List和Set List(列表):有序.可重复元素,可以插入多个null元素.实现List接口的常用类有LinkedList

Java泛型(一)ArrayList和HashMap

package Plan.GenericDemo; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.junit.Test; public class Demo1 {  public static void main(String[

java集合的实现细节--ArrayList和LinkedList

 ArrayList和LinkedList的实现差异 List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表,ArrayList底层采用动态数组的形式保存每一个集合元素,LinkedList则是一种链式存储的线性表,其本质上就是一个双向链表,它不仅实现了List接口,还实现了Deque接口,Deque代表了一种双端队列,既具有队列(FIFO)的特性,也具有栈(FILO)的特性,也就是说,LinkedList既可以当成双向链表使用,也可以当成队列使用,还可以当成栈来使用. p

Java学习之道:ArrayList的使用方法

1.什么是ArrayList     ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2.如何使用ArrayList     最简单的例子: ArrayList List = new ArrayList(); for( int i=0;i<10;i++ ) //给数组增加10个Int元素 List.Add(i); //..程序做一些处理 List

Java学习之路:ArrayList用法

1.什么是ArrayList     ArrayList是一个动态数组传奇,使用MSDN声明.那是,Array复杂的版本号,它具有以下优点,例如: 动态的添加和降低元素 实现了ICollection和IList接口 灵活的设置数组的大小 2.怎样使用ArrayList     最简单的样例: ArrayList List = new ArrayList(); for( int i=0;i<10;i++ ) //给数组添加10个Int元素 List.Add(i); //..程序做一些处理 List