java list流式写法匹配获取唯一值
时间: 2023-08-22 14:08:58 浏览: 215
在 Java 中,你可以使用流式写法和 `distinct()` 方法来获取 List 中的唯一值。示例代码如下:
```java
List<Integer> myList = Arrays.asList(1, 2, 2, 3, 3, 4, 5, 5);
List<Integer> uniqueValues = myList.stream()
.distinct() // 使用 distinct() 方法获取唯一值
.collect(Collectors.toList());
System.out.println(uniqueValues);
```
输出结果为:
```
[1, 2, 3, 4, 5]
```
在流式写法中,你可以使用 `stream()` 方法将 List 转化为 Stream,然后使用 `distinct()` 方法获取唯一值,最后使用 `collect()` 方法将结果转化为 List。这样就可以快速获取 List 中的唯一值了。
相关问题
java list流式写法获取唯一匹配值
可以使用Java 8中的Stream API来实现这个功能。首先将List转换成Stream,然后使用filter方法筛选出符合条件的元素,最后使用findFirst方法获取第一个符合条件的元素。如果没有符合条件的元素,则返回null。
示例代码如下:
```java
List<String> list = Arrays.asList("apple", "banana", "orange", "pear");
String result = list.stream()
.filter(s -> s.startsWith("a"))
.findFirst()
.orElse(null);
System.out.println(result); // 输出:apple
```
在上面的示例中,我们将List转换成了Stream,然后使用filter方法筛选出以字母"a"开头的元素,最后使用findFirst方法获取第一个符合条件的元素,即"apple"。如果List中没有符合条件的元素,则返回null。
java list流式写法对匹配到的对象赋值
在 Java 中,你可以使用流式写法和 `forEach()` 方法来对匹配到的对象赋值。示例代码如下:
```java
List<Person> personList = Arrays.asList(
new Person("Alice", 20),
new Person("Bob", 25),
new Person("Charlie", 30)
);
personList.stream()
.filter(person -> person.getName().equals("Bob")) // 过滤出名字为 Bob 的 Person 对象
.forEach(person -> person.setAge(30)); // 对匹配到的 Person 对象赋值
System.out.println(personList);
```
输出结果为:
```
[Person{name='Alice', age=20}, Person{name='Bob', age=30}, Person{name='Charlie', age=30}]
```
在流式写法中,你可以使用 `filter()` 方法过滤出符合条件的对象,然后使用 `forEach()` 方法对匹配到的对象执行操作。在本例中,我们过滤出名字为 Bob 的 Person 对象,并对其年龄进行了修改。
需要注意的是,对于集合中的对象,我们可以使用对象的方法来进行修改。在本例中,我们使用了 `setAge()` 方法来修改 Person 对象的年龄。
阅读全文