导航:首页 > 编程语言 > javalist相等

javalist相等

发布时间:2022-12-31 15:01:01

java如果两个数组list1和list2内容相同

privatestaticbooleanequal(int[]list1,int[]list2){

Arrays.sort(list1);

Arrays.sort(list2);

if(list1.length!=list2.length){

returnfalse;

}

for(inti=0;i<list1.length;i++){

if(list1[i]!=list2[i]){

returnfalse;

}

}

returntrue;

}

简单排序外加比较就好啦

排序操作有自带的工具,若要明白其排序原理,F3 一下下就好啦

Ⅱ Java中能取出List里的相同数据;比如{ { 1,2,3,4,5,6},{11,22,33,44,55,6},{12,13,14,15,16,6} };

寻找相同的数据, 可以使用多种方式,下面简单介绍2种

稍微注意的是list1 = {'A','A','B'}和list2 = {'A','C'} 如果粗糙的求交集,会得到一个交集结果{'A','A'}, 但是如果要严格取交集那么结果是一个'A'

解决起来很简单, 创造一个boolean[] b2=new boolean[list2.size]; 该boolean数组用于标记,list2的元素,哪些被使用了,哪些没有被使用.被使用的立刻标记为true .下次不再使用.

简单的参考代码: 可以按照自己的需求进行扩展和完善

importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.stream.Collectors;


publicclassDemo1{
//为了方便,全部定义成静态属性,方便静态方法内使用
staticArrayList<Integer>list1=newArrayList<Integer>(Arrays.asList(1,2,3,4,5,6));
staticArrayList<Integer>list2=newArrayList<Integer>(Arrays.asList(11,22,33,44,55,6));
staticArrayList<Integer>list3=newArrayList<Integer>(Arrays.asList(12,13,14,15,16,6));

publicstaticvoidmain(String[]args){
test1();//java8流处理
test2();//传统遍历循环进行处理
}

//流处理求交集
privatestaticvoidtest1(){
System.out.println("list1,list2,list3的交集是:");
list1.stream().filter(num->list2.contains(num)&&list3.contains(num)).collect(Collectors.toList()).stream()
.forEach(System.out::println);
}

//循环遍历求交集
privatestaticvoidtest2(){
ArrayList<Integer>result=newArrayList<Integer>();
for(Integernum:list1){
if(list2.contains(num)&&list3.contains(num)){
result.add(num);
}
}
System.out.println("list1,list2,list3的交集是:");
for(Integeri:result){
System.out.println(i);
}
}
}

Ⅲ java 如何判断list里某一字段值全部相等

注:for (GoodsBean goods : list)是对链表进行循环遍历
spid--商品ID,spmch--商品名称
这个例子是我从现在做的一个购物车的例子里抽出来的一部分,可以运行,你试试 ,呵呵

/**
* 判断一个list里某个字段是否全相等
* @param list
* @return
*/
public static boolean isEqual(List<GoodsBean> list) {
List<String> listid = new ArrayList<String>();
for (GoodsBean goods : list) {
String spid = goods.getSpid();
listid.add(spid);
}
if (listid != null) {
String firstspid = listid.get(0);
for (String spid : listid) {
if (!spid.equals(firstspid)) {
System.out.println("有一个不相等,返回false");
return false;
}

}
return true; //循环完没有找到相等的返回true
}
return false; //为空返回false

}
GoosBean是存放在List里的一个javabean

public class GoodsBean implements Serializable{

/**
*
*/
private static final long serialVersionUID = 1437224000720087048L;
private String spid;
private String spmch;

// 构造方法
public GoodsBean(String spid, String spmch) {
this.spid = spid;
this.spmch = spmch;

}

public GoodsBean() {

}

// 一般方法
public String getSpid() {
return spid;
}

public void setSpid(String spid) {
this.spid = spid;
}

public String getSpmch() {
return spmch;
}

public void setSpmch(String spmch) {
this.spmch = spmch;
}
}
不好意思写得比较匆忙

Ⅳ java获取list相同的数据

可以用LIST集合的方法contains判断一个元素是否在集合的数据中存在。

Ⅳ java中如何获取list里面相同的元素

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Test {
public static void main(String args[]) {
List<String> list = new ArrayList<String>() {
private static final long serialVersionUID = -6469181946992000438L;
{
this.add("aaa");
this.add("bbb");
this.add("ccc");
this.add("aaa");
this.add("bbb");
this.add("ddd");
this.add("eee");
}
};
Set<String> set = new HashSet<String>();
for (String ls : list) {
if (set.contains(ls)) {
System.out.println("重复值:" + ls);
}
set.add(ls);
}
}
}

Ⅵ java 递归 linked list 求 相同元素 不同元素 还有两个LIST是否相等

这是搞哪样?
不但大费周章,而且容易错……

先equalSets吧,
private static boolean equalSets(LinkedList list1, LinkedList list2){
return subset(list1,list2)&&subset(list2,list1);// 集合的内容,两集合互为子集就是相等了
}

然后difference,
private static LinkedList difference(LinkedList list1, LinkedList list2){
while(isNull(list2)){
if(isMember(first(list2),list1))
list1=deleteAll(first(list2),list1);// 将重复元素去除
else
list1=add(first(list2),list1);// 非重复元素存入list1
list2=rest(list2);
}
return list1;
}

最后intersect,
private static LinkedList intersect(LinkedList list1, LinkedList list2){
list2=difference(list1,list2);// 得到两集合不同的元素
while(isNull(list2)){
if(isMember(first(list2),list1))
;// 元素重复,什么也不干
else
list1=deleteAll(first(list2),list1);// 非重复元素删除
list2=rest(list2);
}
return list1;
}

Ⅶ java 两个arraylist放着相同的东西,但顺序不同,怎么判断两个是否相等

相等条件:相互包含,且长度相等,和相等

booleanresult=list1.containsAll(list2)&&list2.containsAll(list1)
&&list1.size()==list2.size()
&&list1.stream().mapToInt(x->x).sum()
==list2.stream().mapToInt(x->x).sum();

Ⅷ JAVA里面,怎样找出两个list中相同的元素,

循环取出list1的元素,然后循环和list2中的元素进行比较,如果相等就输出该元素。代码如下:

importjava.util.ArrayList;
importjava.util.List;

publicclassTest{
publicstaticvoidmain(String[]args){
List<Integer>list1=newArrayList<Integer>();
List<Integer>list2=newArrayList<Integer>();
list1.add(2);
list1.add(3);
list1.add(5);
list2.add(2);
list2.add(5);
list2.add(6);
list2.add(8);
for(inti=0;i<list1.size();i++){
inttemp=list1.get(i);
for(intj=0;j<list2.size();j++){
if(temp==list2.get(j)){
System.out.println("有相同的元素:"+temp);
}
}
}
}
}

Ⅸ java里两个长度相等 list怎么连接到一块

直接 list1.addAll(list2); 就可以了

Ⅹ 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);
}

阅读全文

与javalist相等相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163