Java8如何从一个list中获取某一元素集合

2022-11-13 11:11:12 集合 元素 获取

从一个list中获取某一元素集合

@Data
public class Person {
    private String name;
    private String age;
}
   List<Person> list = new ArrayList<>();
        Person person = new Person();
        person.setName("1");
        person.setAge(10);
        list.add(person);
        Person person1 = new Person();
        person1.setName("1");
        person1.setAge(10);
        list.add(person);
//获取person里面所有年龄集合
        List<String> ageList = list.stream().map(Person::getAge).collect(Collectors.toList());

提取出list中bean的某一属性

package com.demo;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Test6 {
	public static void main(String[] args) {
		List<Student> stuList = new ArrayList<Student>();
		Student st1 = new Student("123","aaa");
		Student st2 = new Student("234","bbb");
		Student st3 = new Student("345","ccc");
		Student st4 = new Student("345","ccc");
		stuList.add(st1);
		stuList.add(st2);
		stuList.add(st3);
		stuList.add(st4);
		//1.提取出list对象中的一个属性
		List<String> stIdList1 = stuList.stream()
				.map(Student::getId)
				.collect(Collectors.toList());
		stIdList1.forEach(s -> System.out.print(s+" "));
		System.out.println();
		System.out.println("----------");
		
		//2.提取出list对象中的一个属性并去重
		List<String> stIdList2 = stuList.stream()
				.map(Student::getId).distinct()
				.collect(Collectors.toList());
		stIdList2.forEach(s -> System.out.print(s+" "));
		
	}
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章