精华内容
下载资源
问答
  • java8 list取值
    万次阅读
    2018-11-07 16:27:22

    1、

    public void testSelectQuestionTypeByExample1() {
            List<QuestionTypeEntity> list = new ArrayList();
            list = questionTypeManagerFacade.selectQuestionTypeByExample();
            for (QuestionTypeEntity questionTypeEntity : list) {
                System.out.println("第一种遍历方式" + questionTypeEntity.getQuestionName());
            }
        }
    2、

     public void testSelectQuestionTypeByExample2() {
            List<QuestionTypeEntity> list = new ArrayList();
            list = questionTypeManagerFacade.selectQuestionTypeByExample();
            for (int i =0;i< list.size();i++){
               System.out.println("第二种遍历方式" + list.get(i).getQuestionName());
               System.out.println("第二种遍历方式" + list.get(i).getOperator());
            }
        }
    3、

    public  void testSelectQuestionTypeByExample3(){
            List<QuestionTypeEntity> list = new ArrayList();
            list = questionTypeManagerFacade.selectQuestionTypeByExample();
            for (int i = 0;i<list.size();i++){
                QuestionTypeEntity questionTypeEntity = list.get(i);
                System.out.println("第三种遍历方式"+questionTypeEntity.getQuestionName());
            }
        }

    更多相关内容
  • 主要介绍了如何实现java8 list按照元素的某个字段去重,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
  • 在我们日常开发过程中,有很多场景需要对list集合进行取值筛选,以下是我对常用的一些知识点进行总结 首先,创建一个需要用到的对象,例如学生对象,有相关字段:姓名,年龄,性别 public class Student { private...

    在我们日常开发过程中,有很多场景需要对list集合进行取值筛选,以下是我对常用的一些知识点进行总结

    首先,创建一个需要用到的对象,例如学生对象,有相关字段:姓名,年龄,性别

    public class Student {
    
        private String name;
        private int age;
        private String sex;
    
        public Student( String name, int age,String sex) {
            this.age = age;
            this.name = name;
            this.sex = sex;
        }
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    }
    

    其次,对这些字段属性进行赋值

    	  Student s1 = new Student("小金",20,"女");
          Student s2 = new Student("小宋",21,"女");
          Student s3 = new Student("小张",25,"男");
          Student s4 = new Student("小王",27,"男");
          Student s5 = new Student("小王",30,"未知");
          List<Student> list = new ArrayList<>();
          list.add(s1);
          list.add(s2);
          list.add(s3);
          list.add(s4);
          list.add(s5);
    

    1、遍历-foreach

    使用stream流进行foreach遍历

    list.stream().forEach(student->{
        //处理逻辑,打印出所有学生的姓名
        System.out.println(student.getName());
    });
    

    运行结果:
    在这里插入图片描述

    2、筛选list

    filter函数的()里,应该放逻辑,判断条件,将符合条件的放到resultList中
    代码如下,筛选集合中所有性别为女的学生

    List<Student> resultList = list.stream().filter(student -> Objects.equals(student.getSex(),"女")).collect(Collectors.toList());
    resultList.stream().forEach(student->{
        System.out.println(student.getName());
    });
    

    运行结果:
    在这里插入图片描述

    3、list去重

    根据性别去重

    List<Student> unique = list.stream().collect(Collectors.collectingAndThen(
         Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Student::getSex))), ArrayList::new));  
    unique.stream().forEach(student->{
       System.out.println(student.getName());
    });
    

    运行结果:
    在这里插入图片描述

    4、取出list集合对象中某一个属性

    取出每个对象中的姓名组成一个新的集合

    List<String> listStr = list.stream().map(Student::getName).collect(Collectors.toList());
    

    去重

    List<String> listNew = listStr .stream().map(Student::getName).distinct().collect(Collectors.toList());
    

    运行结果:
    在这里插入图片描述

    5、list与map互转,并根据某一属性进行分组

    list转map (下方studentMap运行会报错,因为作为key值,name不能重复,所以正式开发中应该使用唯一性id作为key值)

    Map<String, Student> studentMap = list.stream().collect(Collectors.toMap(Student::getName, student -> student));
    

    list转数组

    String[] listStrs = list.stream()
                    .filter(e -> Objects.equals(e.getSex(), "男"))
                    .sorted(Comparator.comparing(Student::getName))
                    .map(Student::getName).toArray(String[]::new);
    

    list转map并且分组

    Map<String, List<Student>> listMap = list.stream().collect(Collectors.groupingBy(Student::getSex));
    

    运行结果:
    在这里插入图片描述

    根据对象某些属性,进行分组
    Map<List, List> studentsMap= list.stream()
    .collect(Collectors.groupingBy(f -> Arrays.asList(f.getAge),f.getSex())));

    map转list

    List<Student> collect = studentMap.values().stream().collect(Collectors.toList());
    

    6、过滤属性为空的字段

    Student s6 = new Student("",30,"男");
    list.add(s6);
    
    List<String> stringList = list.stream().map(s -> s.getName()).filter(s -> !s.isEmpty()).collect(Collectors.toList());
    

    7、根据某一属性进行计算

    根据年龄求最大值、最小值、平均值、总和、个数

    IntSummaryStatistics resultNum = list.stream().mapToInt((item)->item.getAge()).summaryStatistics();
    System.out.println("max:"+resultNum.getMax());
    System.out.println("min:"+resultNum.getMin());
    System.out.println("sum:"+resultNum.getSum());
    System.out.println("average:"+resultNum.getAverage());
    System.out.println("count:"+resultNum.getCount());
    

    运行结果:
    在这里插入图片描述
    注意
    1、求和有三种类型,mapToInt,mapToLong,mapToDouble
    2、如果是Bigdecimal数值类型,则计算方法如下,(新建对象)

    Frult frult1 = new Frult("西瓜",new BigDecimal(1));
    Frult frult2 = new Frult("梨子",new BigDecimal(2));
    List<Frult> frultList = new ArrayList<>();
    frultList.add(frult1);
    frultList.add(frult2);
    BigDecimal totalPrice = frultList.stream().map(Frult::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
    //或者用mapToInt()进行强转(int->Bigdecimal)
    

    结语:本人目前用到这么多,希望各位有更好的或者其它的用法给予建议与评论,有错误也希望能得到指正!

    展开全文
  • java 中如何从LIST 对象取值
  • Java List 随机取值的多种方法

    万次阅读 2018-04-24 16:43:40
    Java List 随机取值的多种方法

    为了从列表中获取随机元素,需要生成一个随机索引号,然后使用list.get()方法通过生成的索引编号获取元素。

    这里关键是要记住,不得使用超过列表大小的索引。

    方法 1

     public static void main(String[] args) {
    
         List<String> list = Arrays.asList("a","b","c");
         int index = (int) (Math.random()* list.size());
         System.out.println(list.get(index));
     }
    

    方法 2

     public static void main(String[] args) {
    
         List<String> list = Arrays.asList("a","b","c");
         int index = new Random().nextInt(list.size());
         System.out.println(list.get(index));
     }
    

    方法 3

     public static void main(String[] args) {
    
         List<String> list = Arrays.asList("a","b","c");
    
         // shuffle 打乱顺序 
         Collections.shuffle(list);
         System.out.println(list.get(0));
     }
    
    展开全文
  • java8中通过stream流对List类型进行一些操作的测试Demo类
  • java list随机取值

    千次阅读 2017-11-29 14:18:02
    public static void main(String[] args) { List list = new ArrayList(); List randomList = new ArrayList(); for (int i = 0; i list.add(i, String.valueOf(i)); } for (String i : list) { System.out.
    public static void main(String[] args) {
    List<String> list = new ArrayList<String>();

    List<String> randomList = new ArrayList<String>();

    创建有顺序的list

    for (int i = 0; i < 10; i++) {
    list.add(i, String.valueOf(i));
                   }
    for (String i : list) {
    System.out.println("输出的数字为"+i);

                              }

    //循环三次输出打乱的list

    for (int k = 0; k <3; k++) {
    //removeListElement(list,5);
    randomList = randomListElement(list,5);
    System.out.println("打乱之后的顺序为----------");
    for (String i : randomList) {
    System.out.println("打乱之后输出的数字为"+i);
                                  }
                         }
                }

    private static List<String> randomListElement(List<String> list, int i) {
    List<String> randomList = new ArrayList<String>();
    //随机打乱list
    Collections.shuffle(list);
    for (int j = 0; j <i; j++) {
    randomList.add(list.get(j));
           }
    return randomList;
      }
    展开全文
  • Java8 List排序

    千次阅读 2021-03-10 08:52:02
    基础类型List排序//根据字符串长度进行排序list.sort((a,b) -> b.length() - a.length());//长在前,短在后list....//短在前,长在后//对数字进行排序List nums = Arrays.asList(3,1,5,2,9,8,4,10,6,7);nums.sor...
  • Java中六种List集合循环遍历取值

    万次阅读 2020-07-22 14:19:50
    list获取到数据,需要循环遍历取数据。接下来看代码: //int i = trans.size() - 1; i >= 0; i-- /** * 采用倒序的方式去最早的一条数据 *由于需求需要取第一条和第二条一次每次循环,当取到最后一条数据的时候...
  • java如何从List取值

    万次阅读 2016-03-24 09:47:16
    java如何从List取值  分享| 2013-06-30 22:35jhckn2 | 浏览 7403 次  java编程语言编程 在下面这个发方法里,生成了两个随机数 public List generatePonits() { List pointList = new ...
  • public static void html2img(List<DataTransBean> userInfo) throws IOException, DocumentException, com.lowagie.text.DocumentException { Map<String,Object> data = new HashMap(); Map ...
  • Java8处理List的双层循环问题

    千次阅读 2021-03-03 11:51:18
    Java处理List的双层循环程序员经常遇到,一般都是当两个List某个值满足某条件时候,进行相应的处理;1.list和map之间的相互转换/*** 两个List对象当id相同的时候(注意是两个对象,而非两个集合)* @param husbands* @...
  • List<Map<String, Object>>取最大值,最小值 int max = maps.stream().mapToInt(e -> new Integer(String.valueOf(e.get("value")))).max().orElse(0); int min = maps.stream().mapToInt(e ->new...
  • import lombok.extern.slf4j.Slf4j; import java.lang.reflect.Field; import java.util.*; import java.util.stream.Collectors;... * lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作并
  • 使用场景,有两个List>集合,第一个集合的所有元素都是需要保留的。第一个集合的值为:{name=张三丰1, id=1}{name=张三丰2, id=2}{name=张三丰3, id=3}{name=张三丰4, id=4}{name=张三丰5, id=5}{name=张三丰6, ...
  • java通过for循环获取list中想要的内容

    千次阅读 2021-02-28 11:35:15
    获取list有几条内容 通过循环取值 当i小于list.size时i加一Listli=new ArrayList();// po=null;li=dd.chakan(data);String jsonObject="";///通过下面方法能取出list中想要的数值for(int i=0;ii表示当前是第几条list...
  • Java 8中 直接通过List进行分组求和

    千次阅读 2021-06-08 15:36:48
    // Java8List.stream的分组求和方法 Map<String, Long> map = list.stream().collect(Collectors.groupingBy(TbSteelSemiProduct:: getQlName, Collectors.summingLong(TbSteelSemiProduct:: ...
  • [基础篇]-java8List全面操作指南

    千次阅读 2020-08-09 18:05:07
    List集合是开发中常用的集合之一,本文主要讲解List集合之各种操作与转换。 大致包含以下内容: 遍历(5种方式) 排序(普通排序、单/多属性排序) 转Map 分组 去重(对象属性去重) 提取 过滤(单条件、多条件) ...
  • Java 如何从一个 List 中随机获得元素

    千次阅读 2022-04-29 03:48:26
    从一个 List 中随机获得一个元素是有关 List 的一个基本操作,但是这个操作又没有非常明显的实现。 本页面主要向你展示如何有效的从 List 中获得一个随机的元素和可以使用的一些方法。 选择一个随机的元素 为了从...
  • 最近在优化系统,其中常见...import com.example.jdk8.java.common.ChineseComparator; import java.util.*; import java.util.stream.Collectors; public class ListMapStreamSort { public static void main(St
  • java8 List,Map,对象等集合常用操作

    千次阅读 2018-11-06 15:25:08
    //java8 Collectors常用操作 List < String > strings = Arrays . asList ( "abc" , "" , "bc" , "efg" , "abcd" , "" , "jkl" ) ; List < String > filtered = strings . stream ( ) . filter ( ...
  • 想了解java8list集合中取出某一属性的值的集合案例的相关内容吗,*饼饼*在本文为您仔细讲解java8 list取属性值集合的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java8,list集合,属性值集合,下面大家...
  • List<User> list = (mybatis、Oracle返回值); for (User user : list) { System.out.println(user.getName()); System.out.println(user.getAge()); } ``` 如上例子,可以得到list,可是这样写就是一个...
  • JAVA怎样提取循环之中的list

    千次阅读 2021-02-28 11:35:26
    更多追问追答追问我是...追答public List userTimeline(String uid) throws WeiboException {Timeline timeline=new Timeline();timeline.setToken(WipConstants.TOKEN);List status=new ArrayList();try{long i =...
  • java中Integer数组取值

    2020-12-30 14:23:13
    java中Integer数组取值 先看效果: 话不多说,直接上代码: public static void main(String[] args) { Integer[] array = new Integer[5]; array[0] = 0; array[1] = 1; array[2] = 2; array[3] = 3; array...
  • 功能:Stream可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 核心概念理解 一个流的操作 = 创建流 + 中间操作 + 结果转换。 创建流:指从集合转换过滤,数值转换过滤、I/O转换、创建...
  • 1.在jsp页面中嵌套 java代码:首先jsp页面中导入java的工具类//在js中插入java代码操作> userList = (List>)request.getAttribute("userList");//如果userList的值为空则实例化if(userList==null){userList = ...
  • 根据已有的list,想根据下标截取一个子list有下列几种方式:package org.4...import java.util.List;import java.util.Map;import java.util.stream.Collectors;public class SplitList {/*** 原生代码拆分** @para...
  • import java.util.List; import java.util.Optional; /** * @version 1.0 * @Description TODO * @date 2020-12-24 13:06 */ public class DateTrans { public static void main(String[] args) { LocalDateTime ...
  • java Map集合遍历取值的五种方式

    千次阅读 2021-02-26 17:36:49
    //基于JDK1.8版本以上 lambada函数map.forEach((k, v) -> {System.out.println("key:value = ...if (k.equals(“test”)) {//map.put(k, JsonUtil.fromJson((String) v, List.class));}});//keySet获取map集合key...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,630
精华内容 37,452
关键字:

java8 list取值