list中删除另一个list中相同属性值
1. list中添加元素
原生方法,需要多行List<Teacher> teacherList = new ArrayList();teacherList .add(teacher1);teacherList .add(teacher2);单行方法有
1. Arrays.asList(T... a) //添加元素,list不能remove元素,否则报错 java.util.ConcurrentModificationException
2. ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArray);
3. ArrayList<String> arrayList = new ArrayList<String>(strArray.length);Collections.addAll(arrayList, strArray);
4. Arrays.stream(T[] array).collect(Collectors.toList());
2. 测试list移除元素
两个实体类
@AllArgsConstructor
@NoArgsConstructor
@Data
public class Student {private String studentId;private String studentName;
}
@AllArgsConstructor
@NoArgsConstructor
@Data
public class Teacher {private Integer id;private String teacherName;private String studentId;
}
测试代码
@Testvoid name3() {Student student1 = new Student("001", "张三");Student student2 = new Student("002", "李四");Student student3 = new Student("003", "王五");List<Student> studentList = Arrays.stream(new Student[]{student1, student2, student3}).collect(Collectors.toList());Teacher teacher1 = new Teacher(1, "张三老师", "001");Teacher teacher2 = new Teacher(2, "王五老师", "003");List<Teacher> teacherList = Arrays.stream(new Teacher[]{teacher1, teacher2}).collect(Collectors.toList());//把学生列表中的老师排除studentList.removeIf(student -> teacherList.stream().anyMatch(teacher -> teacher.getStudentId().equals(student.getStudentId())));System.out.println(studentList); // [Student(studentId=002, studentName=李四)]// 这种方式创建List,移除时报错 java.util.ConcurrentModificationException//List<Student> studentList = Arrays.asList(student1, student2, student3);// List<Teacher> teacherList = Arrays.asList(teacher1, teacher2);
// for (Student student : studentList) {// for (Teacher teacher : teacherList) {// if(teacher.getStudentId().equals(student.getStudentId())){// studentList.remove(student);
// }
// }
// }}//使用迭代器 list.remove()可以移除元素Iterator<Student> studentIterator = studentList.iterator();while (studentIterator.hasNext()){Student student = studentIterator.next();for (Teacher teacher : teacherList) {if(teacher.getStudentId().equals(student.getStudentId())){studentIterator.remove();}}}
list中删除另一个list中相同属性值相关推荐
- 从一个字符串中删除另一个字符串中出现过的字符
http://blog.csdn.net/walkerkalr/article/details/39001155 定义一个函数,输入两个字符串,从第一个字符串中删除在第二个中出现过的所偶字符串.例如从 ...
- 如何在两个目录中删除其中一个目录中同名文件
2019独角兽企业重金招聘Python工程师标准>>> 假设现在有一个目录/mnt/data,还有另外一个目录/opt/data,需要删除/opt/data目录中和/mnt/data ...
- 如何从字符串中删除最后一个字符?
我想从字符串中删除最后一个字符. 我尝试这样做: public String method(String str) {if (str.charAt(str.length()-1)=='x'){str ...
- 在一个数组中删除另一个数组存在的值
在一个数组中删除另一个数组存在的值 可以在购物车中删除多个商品的时候用此方法 在Vuex实现完整购物车中有涉及,详见 Vuex实现完整购物车 <script type="text/ja ...
- python中指定最后一个字符_如何从Python字符串中删除最后一个字符?
如何从Python字符串中删除最后一个字符? Python支持负索引切片和正切片.负索引从 -1 到-(iterable_length)开始.我们将使用负切片从可迭代对象的末尾获取元素. 索引 - ...
- php如何去除数组的最后一个元素,如何从PHP中的数组中删除最后一个元素?
要从数组中删除最后一个元素或值, 请使用array_pop()函数.此函数返回数组中最后一个删除的元素, 如果数组为空或不是数组, 则返回NULL.从数组中删除最后一个元素后, 将修改数组, 并且仅当 ...
- 从 Python 中的字符串中删除最后一个分号或者逗号
第一种方法 使用 str.rstrip() 方法从字符串中删除最后一个逗号,例如 new_str = my_str.rstrip(';'). str.rstrip() 方法将返回删除尾随逗号的字符串副 ...
- 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变 ...
- 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
1.题目 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符. 例如,输入"They are students."和"aeiou",则删除之后的第一个字 ...
最新文章
- 神经网络原来是这样和数学挂钩的
- __getattr__ 与动态属性
- linux 自动启动shell 和 init概述
- linux系统内存执行elf的多种方式
- java saxreader_JAVA解析XML,SAXReader无法使用
- 进入Activity后让EditText自动弹出小键盘
- Spring MVC 3.0 返回JSON数据的方法
- 如何解决loss NAN的问题
- HiveQL学习笔记(二):Hive基础语法与常用函数
- 帆软动态列之数据集实现动态列
- Springboot小区物业管理系统毕业设计源码051745
- 检测到您尚未安装ALEXA工具条
- oracle定时任务按照小时,ORACLE定时任务时间间隔设置
- 如何辨别手机屏幕材质
- FPS的瞄准准心的一种写法
- 4G新业务--RCS简介
- 2023年全国最新会计专业技术资格精选真题及答案9
- 详述 MIMIC 数据库26张数据表(一)
- [tensorflow] 关于 seed
- Spring 编程式定时任务
热门文章
- 苹果x浏览器显示服务器停止,苹果浏览器服务器停止打不开网页
- MacOS卸载自带软件
- 图解线程池——清新脱俗的讲原理
- STM32学习笔记——窗口看门狗WWDG介绍及配置
- 【线稿提取】胡桃桃那么可爱,那就“手绘”个胡桃摇吧~
- Ubuntu 安装MySQL,修改root密码
- Web 端自动化神器Automa,批量下载美图,可做封面
- 【面试题】4.JVM相关
- 【B站老杜】mysql详解
- ndroid 提供 MP3 录音功能.边录边转码,暂停可播,方法安全,回调丰富,6.0 以下权限也适配了