GoodsExplosive result = list.stream() .sorted(Comparator.comparing(GoodsExplosive::getGroundingState, (s1, s2) -> { if (s1.equals(s2)) { return 0; } else if (s1 == 1 || s2 == 5) { return -1; } else if (s1 == 5 || s2 == 1) { return 1; } else if (s1 == 2) { return -1; } else if (s2 == 2) { return 1; } else if (s1 == 0) { return -1; } else { return 1; } })) .findFirst() .orElse(null);什么意思
时间: 2024-04-23 11:27:01 浏览: 37
js-leetcode题解之83-remove-duplicates-from-sorted-list.js
这段代码是对一个名为"list"的GoodsExplosive对象流进行排序,排序的规则是根据GoodsExplosive对象的"groundingState"属性进行比较。如果这两个对象的"groundingState"属性值相等,返回0;如果其中一个对象的"groundingState"属性值为1,另一个为5,返回-1;如果其中一个对象的"groundingState"属性值为5,另一个为1,返回1;如果其中一个对象的"groundingState"属性值为2,返回-1;如果另一个对象的"groundingState"属性值为2,返回1;如果其中一个对象的"groundingState"属性值为0,返回-1;否则返回1。最后,返回排完序的列表中的第一个对象,如果没有则返回null。
阅读全文