java 判断两个list中的对象是否完全一致

List<Object>list1;List<Object>list2;需要比较list1是否完全包含list2;所谓的包含,就是list1中的对象与list2完全一致(... List<Object> list1;
List<Object> list2;
需要比较list1是否完全包含list2;
所谓的包含,就是list1中的对象与list2完全一致(对象的属性也必须一致);
尽量不用双重for循环...在线等,求大神指教,谢谢!
展开
 我来答
言南絮
高粉答主

2018-03-31 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:187
采纳率:100%
帮助的人:31.1万
展开全部

使用java判断两个list中的对象是否完全一致的代码如下:

  1. public class Test {public static void main(String[] args) 

    {List<Integer> a = Arrays.asList(1, 2, 3, 4)

    List<Integer> b = Arrays.asList(4, 3, 2, 1)System.out.println(compare(a, b))

    public static <T extends Comparable<T>> boolean compare(List<T> a, List<T> b) {if (a.size() != b.size())

    return falseCollections.sort(a)Collections.sort(b)for (int i = 0; i < a.size(); i++) {if (!a.get(i).equals(b.get(i)))return false;}return true;}}

使用java判断是否有新增数据的代码如下:

  1. public List<MonitoringFlight> isSaveOrUpdate

    (List<MonitoringFlight> oldList, List<MonitoringFlight> newList)

    {<br datafiltered="filtered">List<MonitoringFlight>

    monitoringFlights = new ArrayList<MonitoringFlight>()

    <br data-filtered="filtered">for (int i = 0; i < oldList.size(); i++)

    {<br data-filtered="filtered"> for (int j = 0; j < newList.size(); j++) 

    {<br data-filtered="filtered">//判断是否有新增<br datafiltered="filtered">

    if(oldList.get(i).getId().equals(newList.get(j).getId()))

    {<br data-filtered="filtered">//判断是否有更新<br data-filtered="filtered">if()

    {<br data-filtered="filtered"><br data-filtered="filtered">}else 

    {<br data-filtered="filtered"><br data-filtered="filtered">}

    <br data-filtered="filtered"><br data-filtered="filtered">}

    else{<br data-filtered="filtered">//有新增<br data-filtered="filtered">

    <br data-filtered="filtered">}<br data-filtered="filtered">}

    <br data-filtered="filtered">}<br data-filtered="filtered">

    <br data-filtered="filtered"><br data-filtered="filtered"><br datafiltered="filtered">

    return monitoringFlights;<br data-filtered="filtered">}

百度网友37397c621
2013-05-29 · TA获得超过695个赞
知道小有建树答主
回答量:427
采纳率:100%
帮助的人:149万
展开全部
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Test {

public static void main(String[] args) {
List<Integer> a = Arrays.asList(1, 2, 3, 4);
List<Integer> b = Arrays.asList(4, 3, 2, 1);
System.out.println(compare(a, b));
}

public static <T extends Comparable<T>> boolean compare(List<T> a, List<T> b) {
if (a.size() != b.size())
return false;
Collections.sort(a);
Collections.sort(b);
for (int i = 0; i < a.size(); i++) {
if (!a.get(i).equals(b.get(i)))
return false;
}
return true;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
503161611
2013-05-29 · TA获得超过132个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:104万
展开全部
你是想问,list里的数据完全一直吗?必须拿出来比较才可以知道,或者你想要知道这两个list是否使用同一个引用,比较引用的话就不用循环比较了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殇O凋零
推荐于2017-12-15 · TA获得超过432个赞
知道小有建树答主
回答量:283
采纳率:100%
帮助的人:101万
展开全部

楼主说的LIST集合是对象类型,需要比较的还有属性

  1. 重写实体类的equals方法

  2. 集合A,B分别调用ContainsAll()方法


本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tiamo_man_man
2013-05-29 · 超过10用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:41.2万
展开全部
if(list1.containsAll(list2) && list2.containsAll(list1)){System.out.println("the same");}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式