-
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按照元素的某个字段去重
2020-08-25 22:07:30主要介绍了如何实现java8 list按照元素的某个字段去重,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下 -
java8快速对list集合的筛选计算取值总结
2020-04-23 12:53:23在我们日常开发过程中,有很多场景需要对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 对象取值
2012-01-04 16:49:25java 中如何从LIST 对象取值 -
Java List 随机取值的多种方法
2018-04-24 16:43:40Java 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操作的一些测试方法
2019-09-15 11:54:13java8中通过stream流对List类型进行一些操作的测试Demo类 -
java list随机取值
2017-11-29 14:18:02public 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:16java如何从List中取值 分享| 2013-06-30 22:35jhckn2 | 浏览 7403 次 java编程语言编程 在下面这个发方法里,生成了两个随机数 public List generatePonits() { List pointList = new ... -
java List<T> 对象取值
2020-08-07 17:20:53public 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:18Java处理List的双层循环程序员经常遇到,一般都是当两个List某个值满足某条件时候,进行相应的处理;1.list和map之间的相互转换/*** 两个List对象当id相同的时候(注意是两个对象,而非两个集合)* @param husbands* @... -
Java 8 List, Object>>取最大值,最小值
2021-12-15 10:42:13List<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... -
Java8使用stream操作两个list根据某字段匹配再对其中一个list进行赋值
2021-11-24 22:23:31import lombok.extern.slf4j.Slf4j; import java.lang.reflect.Field; import java.util.*; import java.util.stream.Collectors;... * lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作并 -
Java8 Stream对两个 List 遍历匹配数据的优化处理操作
2021-03-13 18:17:35使用场景,有两个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// Java8 中 List.stream的分组求和方法 Map<String, Long> map = list.stream().collect(Collectors.groupingBy(TbSteelSemiProduct:: getQlName, Collectors.summingLong(TbSteelSemiProduct:: ... -
[基础篇]-java8之List全面操作指南
2020-08-09 18:05:07List集合是开发中常用的集合之一,本文主要讲解List集合之各种操作与转换。 大致包含以下内容: 遍历(5种方式) 排序(普通排序、单/多属性排序) 转Map 分组 去重(对象属性去重) 提取 过滤(单条件、多条件) ... -
Java 如何从一个 List 中随机获得元素
2022-04-29 03:48:26从一个 List 中随机获得一个元素是有关 List 的一个基本操作,但是这个操作又没有非常明显的实现。 本页面主要向你展示如何有效的从 List 中获得一个随机的元素和可以使用的一些方法。 选择一个随机的元素 为了从... -
JAVA8中对List,Object>>根据map某个value值进行排序,还支持中文排序,可以替代order by
2021-12-04 07:51:22最近在优化系统,其中常见...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 ( ... -
java8 list取属性值集合 java8从list集合中取出某一属性的值的集合案例
2021-03-24 01:05:39想了解java8从list集合中取出某一属性的值的集合案例的相关内容吗,*饼饼*在本文为您仔细讲解java8 list取属性值集合的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java8,list集合,属性值集合,下面大家... -
Java List<Object> 取值???!!!
2017-09-15 06:49:44List<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:13java中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... -
Java8 新特性 stream操作List<T> 的 过滤、取值、排序、求和、分组
2020-10-13 16:21:53功能:Stream可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 核心概念理解 一个流的操作 = 创建流 + 中间操作 + 结果转换。 创建流:指从集合转换过滤,数值转换过滤、I/O转换、创建... -
java后台list集合传值到前台,再取值的几种方法
2021-01-13 22:49:051.在jsp页面中嵌套 java代码:首先jsp页面中导入java的工具类//在js中插入java代码操作> userList = (List>)request.getAttribute("userList");//如果userList的值为空则实例化if(userList==null){userList = ... -
Java根据list下标拆分子list的四种方式
2021-03-06 02:41:27根据已有的list,想根据下标截取一个子list有下列几种方式:package org.4...import java.util.List;import java.util.Map;import java.util.stream.Collectors;public class SplitList {/*** 原生代码拆分** @para... -
java8对以当前时间为标准筛选在前后相邻数据List<LocalDateTime>
2020-12-24 17:02:27import 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...