如何比较两个List集合中 类型相同的属性?List集合的对象不相同。

LabanYB 2016-11-17 09:23:32
比如:List<User>和List<Emp>作比较 ,两者都有ID 且都为Int, 我们把id作比较的属性 ,List<User>有10条数据 , List<Emp>有8条数据 ,最后得出List<User>中有的 List<Emp>中没有的,如何比较?
...全文
1260 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liyuhui195134 2017-09-06
  • 打赏
  • 举报
回复
有没有比双层for循环更高效的方法?
cb1156 2016-11-17
  • 打赏
  • 举报
回复
数据类型问题? id 如果是Integer 要用 invalue方法。
___d 2016-11-17
  • 打赏
  • 举报
回复
2L
LabanYB 2016-11-17
  • 打赏
  • 举报
回复
我也是你这样写的 但是判断出来的数据 总是有问题 数据库有的数据 也输出出来了
你好小Song 2016-11-17
  • 打赏
  • 举报
回复
public class Test {
	public static void main(String[] args) {
		List<User> userList = new ArrayList<User>();
		List<Emp> empList = new ArrayList<Emp>();
		User user1 = new User("1");
		User user2 = new User("2");
		User user3 = new User("3");
		User user4 = new User("4");
		User user5 = new User("5");
		User user6 = new User("6");
		User user7 = new User("7");
		User user8 = new User("8");
		User user9 = new User("9");
		User user10 = new User("10");
		userList.add(user1);
		userList.add(user2);
		userList.add(user3);
		userList.add(user4);
		userList.add(user5);
		userList.add(user6);
		userList.add(user7);
		userList.add(user8);
		userList.add(user9);
		userList.add(user10);
		Emp emp1 = new Emp("5");
		Emp emp2 = new Emp("6");
		Emp emp3 = new Emp("7");
		Emp emp4 = new Emp("8");
		Emp emp5 = new Emp("9");
		Emp emp6 = new Emp("10");
		Emp emp7 = new Emp("11");
		Emp emp8 = new Emp("12");
		empList.add(emp1);
		empList.add(emp2);
		empList.add(emp3);
		empList.add(emp4);
		empList.add(emp5);
		empList.add(emp6);
		empList.add(emp7);
		empList.add(emp8);
		compare(userList, empList);
	}
	
	private static void compare(List<User> userList, List<Emp> empList){
		//用来存放相等的id
		List<String> equalIdList = new ArrayList<String>();
		for (User user : userList) {
			for (Emp emp : empList) {
				if(user.getId().equals(emp.getId())){
					equalIdList.add(user.getId());
				}
			}
		}
		
		System.out.println("两个list中都有的id为: ");
		for (String id : equalIdList) {
			System.out.println(id);
		}
	}
}
你好小Song 2016-11-17
  • 打赏
  • 举报
回复
引用 3 楼 qq_31896043 的回复:
我也是你这样写的 但是判断出来的数据 总是有问题 数据库有的数据 也输出出来了
debug一下看看问题出在哪
技术控_ 2016-11-17
  • 打赏
  • 举报
回复
Comparable接口 重写它的compareTo方法..

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧