java比较2个list的简单介绍
本篇文章给大家谈谈java比较2个list,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 对比两个list并取值
- 2、java 比较两个list中是否有含有相同的数据
- 3、java 判断两个list中的对象是否完全一致
- 4、java比较两个list元素是否有相等
- 5、JAVA如何比较出两个list中不同的元素?
java 对比两个list并取值
二个for循环吧。
for(循环第一个list){
for(循环第二个list){
/// 方法体自己写,这个简单也好理解
}
}
java 比较两个list中是否有含有相同的数据
我这有种解法:
1、将list1和list2进行合并,在合并过程中去重。
2、用Collections.sort()进行排序就行了。代码如下:
ListInteger list = new ArrayListInteger();
for (Integer i : list2) {
if (list.indexOf(i) == -1) {
list.add(i);
}
}
for (Integer i : list1) {
if (list.indexOf(i) == -1) {
list.add(i);
}
}
Collections.sort(list);
java 判断两个list中的对象是否完全一致
使用java判断两个list中的对象是否完全一致的代码如下:
public class Test {public static void main(String[] args)
{ListInteger a = Arrays.asList(1, 2, 3, 4)
ListInteger b = Arrays.asList(4, 3, 2, 1)System.out.println(compare(a, b))
public static T extends ComparableT boolean compare(ListT a, ListT 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判断是否有新增数据的代码如下:
public ListMonitoringFlight isSaveOrUpdate
(ListMonitoringFlight oldList, ListMonitoringFlight newList)
{br datafiltered="filtered"ListMonitoringFlight
monitoringFlights = new ArrayListMonitoringFlight()
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"}
java比较两个list元素是否有相等
首先这里需要确定一下集合相等的定义,我们应该是认为两个集合的元素完全一致则相等。那么判断可以这样做:
第一步:判断两个list集合的元素个数是否相等。如果不相等则两个list集合也不相等,判断结束,如果相等则进入第二步判断
第二步:判断list1的元素是否全部在list2中。遍历list1,取出list1中的元素,依次去list2中比较是否list2也存在这个元素。如果有任何一个list1中的元素在list2中不存在,则两个list集合不相等,如果全部存在则两个list集合相等。
这里需要说明一点,因为第一步中已经判断list1和list2的元素个数是相等的,所以第二步中如果list1的元素全部在list2中,则可以证明list1与list2相等。不需要再遍历list2中的元素,去list1中判断是否存在。
以下是上诉过程的Java代码例子:
public boolean equalList(List list1, List list2) {
if (list1.size() != list2.size())
return false;
for (Object object : list1) {
if (!list2.contains(object))
return false;
}
return true;
}
以上过程适用于所有编程语言。另外不同编程语言还提供了一些其他方法,所以对于不同编程语言还可以有其他写法。
比如Java中为list集合提供了containsAll方法。所以对于Java语言还可以这么写:
public boolean equalList(List list1, List list2) {
if (list1.size() != list2.size())
return false;
if (list2.containsAll(list1))
return true;
return false;
}
还可以简写成这样
public boolean equalList(List list1, List list2) {
return (list1.size() == list2.size()) list1.containsAll(list2);
}
JAVA如何比较出两个list中不同的元素?
比较方法:
ListString lista = new ArrayListString(list1);//构建list1的副本
lista.removeAll(list2);// 去除相同元素
ListString listb = new ArrayListString(list2);//构建list2的副本
listb.removeAll(list1);// 去除相同元素
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。
关于java比较2个list和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。