jdk8 List去除重复
时间: 2023-07-11 22:57:01 浏览: 62
可以使用Java 8的Stream API来去除List中的重复元素。可以使用`distinct()`方法来实现。以下是示例代码:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 3, 4, 4, 5);
List<Integer> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList);
```
输出:
```
[1, 2, 3, 4, 5]
```
相关问题
jdk动态代理和cglib
JDK动态代理和CGLIB都是Java中常用的代理技术。
JDK动态代理是Java提供的一种代理技术,它是基于接口的代理,即被代理的类必须实现一个接口。JDK动态代理通过在运行时动态生成代理类来实现对目标对象的代理,因此可以动态地在内存中创建代理对象。
CGLIB是一个强大的、高性能的代码生成库,它可以在运行时扩展Java类和实现接口。CGLIB代理是基于继承的代理,即被代理的类不需要实现接口。CGLIB通过生成目标类的子类来实现对目标对象的代理。
相比而言,JDK动态代理更加轻量级,但它只能代理实现了接口的类,而CGLIB可以代理任何类,但生成代理类的开销会更大。在实际使用中,应根据具体的需求选择不同的代理技术。
jdk8 list排序
在 JDK 8 中,可以使用 `List` 的 `sort` 方法来对列表进行排序。`sort` 方法接受一个 `Comparator` 对象作为参数,用于指定排序的规则。
以下是一个示例代码,展示如何在 JDK 8 中对一个 `List` 进行排序:
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(10);
numbers.add(1);
numbers.add(8);
// 使用 sort 方法进行排序
numbers.sort(Comparator.naturalOrder());
System.out.println(numbers); // 输出:[1, 2, 5, 8, 10]
}
}
```
在这个示例中,我们创建了一个 `List` 对象 `numbers`,并添加了一些整数。然后,我们使用 `sort` 方法对 `numbers` 进行排序,通过 `Comparator.naturalOrder()` 指定自然排序(升序)。最后,我们打印排序后的列表,输出为 `[1, 2, 5, 8, 10]`。
你可以根据具体的需求实现自定义的比较器,来实现按照不同的规则进行排序。