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

目录
  • 从一个list中获取某一元素集合
  • 提取出list中bean的某一属性

从一个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+" "));
		/*	结果:
			123 234 345 345
			----------
			123 234 345
		*/
	}
}

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

(0)

相关推荐

  • java8如何用Stream查List对象某属性是否有重复

    目录 使用Stream查List对象某属性是否有重复 练习一下stream的一些用法 list的五种去重方式 方法一:使用java8新特性stream进行List去重 方法二:双重for循环去重 方法三:set集合判断去重,不打乱顺序 方法四:遍历后判断赋给另一个list集合 方法五:set和list转换去重 使用Stream查List对象某属性是否有重复 Java8开发中,针对List对象集合,常需要判断某个属性是否存在重复值.用Stream流处理能方便的得到结果. 练习一下stream的一些

  • Java8 实现stream将对象集合list中抽取属性集合转化为map或list

    首先新建一个实体类Person @Data public class Person { /** 编码 */ private String code; /** 名字 */ private String name; public Person(String code, String name) { this.code = code; this.name = name; } } 实例化三个对象放入list集合中 public static void main(String[] args) { Pers

  • java8从list集合中取出某一属性的值的集合案例

    我就废话不多说了,大家还是直接看代码吧~ List<Order> list = new ArrayList<User>(); Order o1 = new Order("1","MCS-2019-1123"); list.add(o1 ); Order o2= new Order("2","MCS-2019-1124"); list.add(o2); Order o3= new Order("

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

    目录 从一个list中获取某一元素集合 提取出list中bean的某一属性 从一个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)

  • C# List集合中获取重复值及集合运算详解

    话不多说,直接上实例: 一.获取集合内重复值 public void GetDuplicateValue() { List<string> lisA = new List<string> { "A", "B", "C", "A" }; //方式一 借助字典 Dictionary<string, int> dic = new Dictionary<string, int>(); l

  • VUE中v-on:click事件中获取当前dom元素的代码

    在开发中总是忘记,特意在此记录 关键字:   $event <div class="bed" v-on:click="updateBed(index,$event)">{{item.BedID}}<br>{{item.CriminalName}}</div> updateBed: function(index, e) { var selectedBedDom = $(e.srcElement)//dom元素 } PS:下面看下v-

  • python中计算一个列表中连续相同的元素个数方法

    最简单的例子: a = [1,1,1,1,2,2,2,3,3,1,1,1,3] # 问:计算a中最多有几个连续的1 很明显,答案是4 如果用代码实现,最先想到的就是itertools: import itertools a = [1,1,1,1,2,2,2,3,3,1,1,1,3] print max([len(list(v)) for k,v in itertools.groupby(a)]) 但是如果不想用itertools呢? 可以尝试以下的办法,效率还比itertools高一个数量级!

  • Java8如何从一个Stream中过滤null值

    目录 从一个Stream中过滤null值 Solution(解决) stream 方法过滤条件的使用 下面以List为例 从一个Stream中过滤null值 复习一个Stream 包含 null 数据的例子. Java8Examples.java package com.mkyong.java8;  import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream;   public

  • 编写js扩展方法判断一个数组中是否包含某个元素

    在C#语法中判断集合是否包含某个元素可以使用Contains方法,但是类似的问题在javascript中要怎么处理呢,js中没有Contains方法. 我们可以利用js的原型扩展来封装一个我们自己的Contains方法. js代码: 复制代码 代码如下: <script type="text/javascript"> $(function () { Array.prototype.contains = function (element) { //利用Array的原型pro

  • python 获取list特定元素下标的实例讲解

    在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,如到达目的地最近的车站,橱窗里面最贵的物品等等.怎么办?看下面 方法一: 利用数组自身的特性 a.index(target), 其中a是你的目标list,target是你需要的下标对应的值 a=[72, 56, 76, 84, 80, 88] print(a.index(76)) output: 2 但是,如果a中有多个76呢? 我们发现,这种方法仅仅能获取都第一个匹配的value的下标(可以试试o_o) 所以,我们看看我们的第二种方案

  • Python找出list中最常出现元素的方法

    本文实例讲述了Python找出list中最常出现元素的方法.分享给大家供大家参考,具体如下: 假设一个list中保存着各种元素,需要统计每个元素出现的个数,并打印出最常出现的前三个元素分别是什么.list如下: 复制代码 代码如下: word_list =["is","you","are","I","am","OK","is","OK","

  • PHP基于反射获取一个类中所有的方法

    本文实例讲述了PHP基于反射获取一个类中所有的方法.分享给大家供大家参考,具体如下: 当我们使用一个类时既没有源码也没有文档时(尤其是php扩展提供的类,比如mysqli,Redis类),我们该怎么知道这个类中提供了哪些方法,以及每个方法该怎么使用呢,此时就该PHP中强大的反射登场了,下面以Redis扩展为例用代码演示: <?php $ref = new ReflectionClass('Redis'); $consts = $ref->getConstants(); //返回所有常量名和值

  • JS 实现获取打开一个界面中输入的值

    需求在一个界面中打开另一个界面,通过JS获取在另一个界面中用户输入的值.示例:Index.html 复制代码 代码如下: <html> <head> <meta http-equiv="content-type" content="text/html; charset=gbk"> <title>主页</title> <script type="text/javascript">

随机推荐