java怎么对List集合进行排序验证?

我有一个问题不知道怎么写,就是:有两个List集合List,我现在想要对这两个集合进行验证,1、验证内容是否一致,如果存在不一致的内容则打印不存在的数据。2、验证排序是否一致。不知道怎么写这个方法,我写的代码如下:
图片说明

请教一下大家,我不知道怎么写它。

6个回答

图片说明

验证list中的元素是否一样,可以使用嵌套循环,通过遍历第一个集合再与第二个集合中的元素进行比较(不考虑顺序的状态下),
如果考虑顺序的话用一个循环就可以了

自己写了两个方法

public static void exist(List data,List pages){
Iterator ite1 = data.iterator();
Iterator ite2 = pages.iterator();
List printstr = new ArrayList();
while(ite1.hasNext()){
String str1 = (String) ite1.next();
if(!pages.contains(str1)){
printstr.add(str1);
}
}
while(ite2.hasNext()){
String str2 = (String) ite2.next();
if(!pages.contains(str2)){
printstr.add(str2);
}
}
System.out.println(printstr);

}


public static void range(List<String> data,List<String> pages){
    Iterator ite1 = data.iterator();
    Iterator ite2 = data.iterator();
    boolean flag = true;
    while(ite1.hasNext()&&ite2.hasNext()){
        String str1 = (String) ite1.next();
        String str2 = (String) ite2.next();
        if(!str1.equals(str2)){
            flag = true;
        }   
    }
    if(flag){
        System.out.println("排序一致");
    }else{
        System.out.println("排序不一致");
    }   
}

不太会用。。。还是传图
图片说明
图片说明

sinat_38802280
Yu_yangfeng 非常抱歉,排序是错的
2 年多之前 回复

使用迭代遍历,,转换成字符串后再做equal,加个布尔变量来判断输出就可以测试了吧

//验证是否相等可以直接调用equals方法,高效迅捷
 list1.equals(list2)

 // 不然你也可以自己写个双层循环来比较


排序的话,我记得只有 LinkedList类才有顺序,其他的都是乱序的,就没有比较顺序的意义了。

for(int i =0; i<linkedList1.size();i++){
    if(!linkedList1[i].equals(linkedList2[i])){
        System.out.println("不相等");
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问