精华内容
下载资源
问答
  • lambda表达式 list排序

    千次阅读 2019-03-12 17:13:14
    升序降序比较,默认List排序是升序排序 如果要降序排序,也很简单,只需要在前面加一个负号 List<int> tmp = new List<int>(){5,1,22,11,4}; // 升序 tmp.Sort((x, y) => x.CompareTo(y)); // 降...

    简单数值排序(转):

    List.Sort有三种结果 1,-1,0分别是大,小,相等
    升序降序比较,默认List的排序是升序排序
    如果要降序排序,也很简单,只需要在前面加一个负号

    List<int> tmp = new List<int>(){5,1,22,11,4};
    //  升序
    tmp.Sort((x, y) => x.CompareTo(y));
    // 降序
    tmp.Sort((x, y) => -x.CompareTo(y));
    Console.WriteLine(tmp);
    // 22,11,5,4,1

     

    public class People
    {
        public string name { get; set; }
        public double CPU { get; set; }
        public double Memory { get; set; }
        public DateTime DTime { get; set; }//时间
        public string GetStateStr()
        {
            string all = name + "CPU:" + CPU.ToString("0.##")+ "内存:" + Memory.ToString("0.##");
            return all;
        }
    }

    示例:

    static void Main(string[] args)
    {
        List<People> ss = new List<People> { };
        ss.Add(new People() { name = "aa", CPU = 12, Memory = 6,DTime = new DateTime(2007, 1, 1, 21, 21, 21) });
        ss.Add(new People() { name = "bb", CPU = 34, Memory = 1,DTime = new DateTime(2007, 1, 1, 21, 22, 21) });
        ss.Add(new People() { name = "cc", CPU = 61, Memory = 3,DTime = new DateTime(2007, 1, 1, 21, 21, 21) });
    
        ss.Sort((x, y) => y.Memory.CompareTo(x.Memory));//Memory字段升序排列
        //ss.Sort((x, y) => x.Memory.CompareTo(y.Memory));//降序排列
    
        ss.Sort((x, y) => DateTime.Compare(x.DTime, y.DTime));//时间排序
    
        foreach (People item in ss)
        {
            Console.WriteLine(item.GetStateStr());
        }
    }

    打印:

    aa:CPU:12MB   内存:6MB
    cc:CPU:61MB   内存:3MB
    bb:CPU:34MB   内存:1MB
     

     

    展开全文
  • Java中List通过Lambda实现排序

    千次阅读 2019-08-01 17:23:35
    目录 1.正常排序,1,2,3 2.倒序 3,2,1 ... list=list.stream().sorted(Comparator.comparing(VipCardVo::getVipCardType)).collect(Collectors.toList()); 2.倒序 3,2,1 list=list.stream()....

    目录

    1.正常排序,1,2,3

    2.倒序 3,2,1


    1.正常排序,1,2,3

            list=list.stream().sorted(Comparator.comparing(VipCardVo::getVipCardType)).collect(Collectors.toList());
    

    2.倒序 3,2,1

            list=list.stream().sorted(Comparator.comparing(VipCardVo::getVipCardType).reversed()).collect(Collectors.toList());
    

     

    展开全文
  • java8 Lambda表达式排序list集合

    千次阅读 2019-05-20 15:55:06
    List<User> fus=query.asList(); Comparator<User> comparator = (User u1,User u2) -> u1.getInviteFVipNum().compareTo(u2.getInviteFVipNum()); //人数倒序 fus.sort(comparator.reversed()); /...

    List<User> fus=query.asList();

    Comparator<User> comparator = (User u1,User u2) -> u1.getInviteFVipNum().compareTo(u2.getInviteFVipNum());
     //人数倒序
    fus.sort(comparator.reversed());

     //人数正序
    fus.sort(comparator);

    展开全文
  • Python中经常需要对dict中的key值或者value值进行排序,可以通过sorted方法和lambda结合使用,接下来就是sorted()和lambda一、sorted()和lambdasorted()函数原型:sorted(iterable, cmp=None, key=None, reverse=...

    Python中经常需要对dict中的key值或者value值进行排序,可以通过sorted方法和lambda结合使用,接下来就是sorted()和lambda

    一、sorted()和lambda

    sorted()函数原型:

    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

    我们可以看到:一共接受的参数有4个,

    需要排序的变量为iterable变量;

    cmp,比较的函数,具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0

    key,就是用来进行比较的元素,这个元素就是来源于可迭代对象中,指定可迭代对象中的一个元素进行排序

    reverse,代表是否逆序,默认情况下是正序

    lambda:

    匿名函数,用法是:lambda [arguments]: expression

    这个用法转换成函数形式就是:

    def lambda(arguments):

    return expression

    二、list和dict排序

    接下来是一堆例子,关于对list和dict进行排序的实例,结合这些更深入的理解sorted()和lambda

    1、 list排序

    634202-20180311230800673-941029172.png

    634202-20180311230807332-1942566955.png

    然后是嵌套的list,会用到key参数

    634202-20180311230818192-650275760.png

    2、 dict排序

    按照key值进行排序:

    634202-20180311230846938-1127757417.png

    按照value值进行排序:

    634202-20180311230859191-1047700078.png

    注意按照value值进行排序的正确方式是,sorted()方法的第一个参数是需要排序的变量,而对于dict而言,默认输入dict的变量名,key中的lambda中的k就是key,并没有value,因此会报出index out of range的错误,因此可以按照下面的方式执行,这样就可以得到dict中的key和value排序后的list,并且key和value依然是配对的情况

    634202-20190524160148559-520907746.png

    如果我只是想要对value进行排序并且只输出value的结果呢?

    634202-20180311230919357-1660661512.png

    展开全文
  • lambda表达式之list排序

    2020-03-04 14:51:59
    lambda表达式常用的list排序 import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import static java.util.Comparator.comparing; public class ...
  • 降序: lstroot.Sort((x,y)=>y.static_count.CompareTo(x.static_count)); 升序: lstroot.Sort((x,y)=>x.static_count.CompareTo(y.static_count)); 转载于:...
  • java8的lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少写不少代码。 新建实体类 package com.vvvtimes.vo; import java.math.BigDecimal;...
  • lambda表达式对list排序

    2020-04-20 15:21:09
    对一个对象list排序排序字段是对象的sortNum,排序前剔除掉sortNum为null的对象 定义待排序的bean public class TestBean { private Integer id; private String name; private Integer sortNum; } 2 一...
  • lambda c# 排序

    2015-01-20 14:39:09
    关于排序: 做排行榜遇到了排序的问题,查看了官网的例子,点击打开链接自己也顺便写了个test例子 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading...
  • 1、list根据对象中某元素去重 根据集合中对象中的ID属性去重 <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { Map<Object,Boolean> seen = new ConcurrentHashMap...
  • JAVA8 - LambdaList排序

    千次阅读 2019-03-12 14:31:44
    使用LambdaList排序 使用JAVA8函数式方式的比较器 (Human h1, Human h2) -> h1.getName().compareTo(h2.getName()) 下面是使用JAVA8函数式的比较的例子 @Test public void testSortByName_with_...
  • 使用lambda进行排序

    千次阅读 2018-08-12 21:44:49
    1.使用lambdalist进行排序 &gt;&gt;&gt; a = [('a',1),('b',5),('e',4),('f',2)] &gt;&gt;&gt; sorted(a,key=lambda a :a[1]) [('a', 1), ('f', 2), ('e', 4), ('b', 5)] 方法1.用List...
  • lambda多重排序+分页

    2021-06-23 17:11:19
    List<DataSummaryDataEntity> newList = dataEntityList.stream() .sorted( Comparator.comparing(DataSummaryDataEntity::getTemplateId) .thenComparing(DataSummaryDataEntity::getFormId.
  • Lambda实现排序

    千次阅读 2018-01-25 15:37:39
    public class TestComparator { public static void main(String[] args) { List dateList = new ArrayList(); DateDTO dateDTO1 = new DateDTO(); dateDTO1.setDate(DateUtil.stringToDate("2018-01-27
  • 排序 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Linq { public class Product { private string name; ...
  • 使用lambda表达式进行过滤、排序时,出现了空指针异常 改之前代码: List<A> aList1 = aList.stream().distinct().sorted( Comparator.comparing(A::getId()).reversed() ).collect(Collectors.toList())...
  • jdk8使用lambda表达式排序

    千次阅读 2016-08-21 14:08:54
    jdk8使用lambda表达式排序示例代码:实现对整数排序package ouyf;import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List;public class LambdaTest { public ...
  • sorted 使用 lambda 元组排序

    千次阅读 2019-01-14 10:59:29
    print(sorted(list1,key=lambda x:(x&lt;0,abs(x)))) 运行结果如下: [0, 4, 5, 7, -2, -5, -8] 本例中使用的 lambda ,可以改写成函数形式,运行结果完全一样: list1=[7, -8, 5, 4, 0, -2, -5] def fun...
  • lambda表达式排序

    千次阅读 2019-04-13 10:50:34
    在老版本的Java中,需要给Collections.sort( )传入...在Java 8 中,我们可以利用lambda表达式更简洁的实现上述排序。具体代码如下: import java.util.Arrays; import java.util.Collections; import java.util.Com...
  • C# List排序以及Lambda

    千次阅读 2019-11-05 13:38:00
    List<Teacher> list = new List<Teacher>(); Teacher t1 = new Teacher("赵老师", "语文", "1",8); Teacher t2 = new Teacher("钱老师", "语文", "1",7); Teacher t3 = new T...
  • 主要介绍了Java8 用Lambda表达式给List集合排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • list集合排序-lambda表达式实现

    千次阅读 2018-12-27 23:35:16
    从数据库中查询并汇总后的数据列表(list)在界面展示时需根据升序/降序按钮进行排序,普通实现代码如下: /** * list 排序 * @param list * @param sidx 排序列名 * @param sord 排序方式 */ private ...
  • List<AttrInfo> attrInfos = item.getAttrInfos(); //根据属性排序 Collections.sort(attrInfos, Comparator.comparing(AttrInfo::getAttrId)); //循环 attrInfos.stream().forEach(attr->{ System.out....
  • Lambda表达式之list分组排序

    千次阅读 2018-08-27 18:15:34
    List&lt;Paramer&gt; afterList=paramerService.getList(); //group by categoryId Map&lt;Integer, List&lt;Paramer&gt;&gt; groupByCategoryIdAfterMap = afterList .stream() ...
  • //lambda sorted 排序,null数据排在后 resultList = resultList.stream() .sorted(Comparator.comparing(i -> i.getSort(), Comparator.nullsLast(Integer::compareTo))) .collect(Collectors.toList());
  • List集合排序(Lambda表达式)

    千次阅读 2019-01-17 18:54:18
    1.降序: ArrayList&... list=new ArrayList&lt;&gt;();  list.add(3);list.add(1);list.add(4);list.add(-1);  //降序排列  list.sort((x,y)-&gt;y-x); 2.升序: Array...
  • C# ListLambda表达式 Sort 排序

    千次阅读 2020-05-06 19:22:56
    降序: lstroot.Sort((x,y)=>y.static_count.CompareTo(x.static_count)); 升序: lstroot.Sort((x,y)=>x.static_count.CompareTo(y.static_count));
  • 问题描述:对象集合中,根据对象的某个属性进行升降排序时 ,未考虑对应属性的null值,导致出现空指针异常。 解决方法:Comparator.nullsFirst和Comparator.nullsLast List<User> nList = list.stream()....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,307
精华内容 24,922
关键字:

lambdalist排序