就是判断list 是否为空嘛 List.isEmpty()
解决方案 »
- 高分求解,求思路
- 关于spring3测试时加载注解bean的问题
- Hibernate更新多对一关联的多表时,一这方的关联信息丢失了!!
- memcached 分页
- spring与hibernate整合时出现的异常
- java 求职
- jsf+spring+hibernate产生错误:java.lang.OutOfMemoryError: Java heap space
- cms-core:jar:0.0.1-SNAPSHOT is missing, no dependency information available错误
- 你好!!请问从数据库中取出中文字符,生成xml文件怎么是乱码??? 怎么处理!!! thanks!!!!!
- 请问在一个连接工厂里面,是否只能创建一个持久主题预定者?
- spring mvc返回空白页面!不报错!
- 为什么hql语句会出错呢?
也可以判断size()是否大于0
String[] arr = {"苹果","香蕉"};
signs.add(arr);
String[] arrb = {"葡萄","栗子"};
signs.add(arrb);
String[] a = {"苹果","香蕉"};
List<String[]> b = new ArrayList<String[]>();
b.add(a);
boolean contains = signs.containsAll(b); if (contains) {
System.out.println("signs集合包含b集合的内容");
} else {
System.out.println("signs集合不包含b集合的内容");
}打印结果是:signs集合不包含b集合的内容
String[] a = {"苹果","香蕉"};
List<String[]> b = new ArrayList<String[]>();
b.add(arr);
a 和 arrb 都是数组,虽然内容相同,但指向不同的内存空间。
你将b.add(a); 改为 b.add(arr); 就包含了。
public static void main(String[] args) { Set set = new HashSet();
set.add(new Date()); //向列表中添加数据 set.add("apple"); //向列表中添加数据 set.add("TV"); //向列表中添加数据 List list=new ArrayList(); list.add("apple"); //向列表中添加数据 list.add("TV"); //向列表中添加数据 boolean contains = set.containsAll(list); if (contains) { System.out.println("Set集合包含List集合的内容"); } else { System.out.println("Set集合不包含List集合的内容"); }}
这个是和集合类有关系?
如果改为如下形式,就又不包含了 Set set = new HashSet();
set.add(new Date()); //向列表中添加数据
set.add(arr); //向列表中添加数据
set.add("TV"); //向列表中添加数据 List list=new ArrayList();
list.add(a); //向列表中添加数据
list.add("TV"); //向列表中添加数据
boolean contains2 = set.containsAll(list);
if (contains2) {
System.out.println("Set集合包含List集合的内容");
} else {
System.out.println("Set集合不包含List集合的内容");
}还是因为a 和 arr 指向不同的内存空间导致的。
boolean contains = signs.containsAll(b);你是判断的list里面是否有这个list下面的代码是判断 boolean contains = set.containsAll(list);你应该是
Set<List> set = new HashSet<List>(); List list = new ArrayList<>(); boolean b = set.containsAll(list);
List<String[]> signs = new ArrayList<String[]>();
String[] arr = { "苹果", "香蕉" };
signs.add(arr);
String[] arrb = { "葡萄", "栗子" };
signs.add(arrb);
String[] a = { "苹果", "香蕉" };
int i = Collections.binarySearch(signs, a, new Comparator<String[]>() {
@Override
public int compare(String[] o1, String[] o2) {
int result = 1;
if(Arrays.equals(o1, o2)){
result = 0;
}
return result;
}
});
if(i ==0){
System.out.println("signs集合包含a数组的内容");
}else{
System.out.println("signs集合不包含a数组的内容");
}
但是你把数组放到另一个集合中,这就难比较了!,
/**
*判断 List<String[]>是否包含String[]
*/
public static boolean bet(List<String[]> a,String[] b){
for(int i=0;i<a.size();i++){
if(a.get(i)[0].equals(b[0])&&a.get(i)[1].equals(b[1])){
return true;
}
}
return false;
}
谢谢大家!