0
点赞
收藏
分享

微信扫一扫

Java集合比较containsAll、Java集合判断对象相等contains

containsAll() :用于检测 arraylist 是否包含指定集合中的所有元素

情况1public static void main(String[] args) {
	List<String> list1 = Arrays.asList("1","2","3");
	List<String> list2 = Arrays.asList("1","2","3");
	boolean result = list2.containsAll(list1);
	System.out.println(result);
}
执行结果:true
情况2public static void main(String[] args) {
	List<String> list1 = Arrays.asList("1","2","3");
	List<String> list2 = Arrays.asList("1","2");
	boolean result = list2.containsAll(list1);
	System.out.println(result);
}
执行结果:false
情况3public static void main(String[] args) {
	List<String> list1 = Arrays.asList("1","2");
	List<String> list2 = Arrays.asList("1","2","3");
	boolean result = list2.containsAll(list1);
	System.out.println(result);
}
执行结果:true

情况4public static void main(String[] args) {
	List<String> list1 = Arrays.asList("1","2");
	List<String> list2 = Arrays.asList("1","2","3");
	boolean result = list1.containsAll(list2);
	System.out.println(result);
}
执行结果:false

contains():方法用于判断字符串中是否包含指定的字符或字符串

public class User {
	private Integer id;
	private String name;
	private String phone;
	
	public Integer getId() {
	    return id;
	}
	public void setId(Integer id) {
	    this.id = id;
	}
	public String getName() {
	    return name;
	}
	public void setName(String name) {
	    this.name = name;
	}
	public String getPhone() {
	    return phone;
	}
	public void setPhone(String phone) {
	    this.phone = phone;
	}
	
	//构造函数
	public User(Integer id, String name, String phone) {
	    this.id = id;
	    this.name = name;
	    this.phone = phone;
	}
	
	//重写equals方法
	@Override
	public boolean equals(Object obj){
	    if(!(obj instanceof User)){
	        return false;
	    }
	    User temp = (User) obj;
	    //此处可根据业务需求进行调整字段
	    if(this.getId().equals(temp.getId()) && this.getName().equals(temp.getName()) && this.getPhone().compareTo(temp.getPhone())==0){
	        return true;
	    }
	    return false;
	}
}
public static void main(String[] args) {
	List<User> list1 = Arrays.asList(
	        new User(1, "张三1", "15810075811"),
	        new User(2, "李四", "15810075822"),
	        new User(3, "王五", "15810075833")
	);
	List<User> list2 = Arrays.asList(
	        new User(1, "张三", "15810075811"),
	        new User(2, "李四", "15810075822"),
	        new User(3, "王五", "15810075833")
	);
	list1.forEach(list->{
	    if(list2.contains(list)){
	        System.out.println("true");
	    }else{
	        System.out.println("false");
	    }
	});
}
执行结果:
false
true
true
举报

相关推荐

0 条评论