Comparator.comparingInt
时间: 2023-11-07 18:55:19 浏览: 166
Comparator.comparingInt 是 Java 8 中的一个方法,用于根据一个对象的 int 属性进行比较排序。它接收一个函数作为参数,该函数用于提取对象的 int 属性的值,并返回一个比较器。比较器根据这些提取的值对对象进行排序。
下面是一个使用 Comparator.comparingInt 的示例代码:
```
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9);
Collections.sort(numbers, Comparator.comparingInt(Integer::intValue));
```
在这个例子中,我们使用 Comparator.comparingInt 来根据整数列表中的值进行排序。通过传递 Integer::intValue 作为参数,我们提取了每个整数本身的值,并使用它们进行比较排序。
相关问题
comparator.comparingint
comparator.comparingInt() 是 Java 8 中新增的一个方法,用于将 Integer 对象按照其自然顺序进行比较。这个方法返回一个 Comparator<Integer> 对象,可以用来对 Integer 对象进行排序或比较。例如:
List<Integer> intList = Arrays.asList(3, 1, 2);
Collections.sort(intList, Comparator.comparingInt(i -> i));
这段代码将 intList 按照其自然顺序进行排序。
Comparator.comparingInt参数
Comparator.comparingInt参数是一个ToIntFunction类型的keyExtractor函数,用于提取类型T的整型分类键。该函数将类型T映射为一个整数值,以便进行比较。返回的Comparator对象将使用这个整数值进行排序比较。如果keyExtractor函数可以被序列化,那么返回的Comparator对象也是可序列化的。
示例代码如下:
```java
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = List.of("123", "zara", "abc");
Comparator<String> comparator = Comparator.comparingInt(String::length);
list.sort(comparator);
System.out.println(list); // 输出:[abc, 123, zara]
}
}
```
这个例子中,我们使用Comparator.comparingInt方法创建了一个比较器,根据字符串的长度进行比较。然后我们使用这个比较器对列表进行排序,最终输出排序后的列表。
阅读全文