比如说[4,6,7]和 [7]这两个数组,怎样处理使第二个数组和第一个数组一样?我的思路:
for(int i=0;i<list1.size();i++){
for(int j=0;j<liset2.size();j++){
if(list1.get(i)!=liset2.get(i)){
//如果第一个数组和第二个数组的相同位置的值不同,就把第一个数组的这个位置的值插入到第二个数组的相同位置。
}
}
}
LZ你想得太多了,直接这样:
for(int i=0;i<list1.size();i++){
list2.get(i)=list1.get(i);
}
这个貌似不行?
你先把问题说清楚吧,你的目的是什么,如果只是想list2=list1的话,那就简单了,还有集合没有size()方法,拿长度只能用length
追问比如这两个数组[4,6,7]和 [7]
就是这两个数组,比较他们相同的位置的值是否相等,如果不相等把第一个数组的这个位置的值插入到第二个数组的相应位置,最终使这两个数组一样。这样做是因为在使第二个数组和第一个数据比较的时候要进行其他操作的。
我刚刚写了一段代码,测试无误,你看一下,希望对你有帮助:
import java.util.ArrayList;
import java.util.List;
public class TestList {
public static void main(String[] ags) {
//定义list1
List list1 = new ArrayList();
list1.add("a");
list1.add("b");
list1.add("c");
//定义list2
List list2 = new ArrayList();
list2.add("d");
list2.add("b");
list2.add("f");
list2.add("g");
System.out.println("修改前:");
System.out.println("list1=:"+list1);
System.out.println("list2=:"+list2);
//开始替换
for(int i=0;i<list2.size();i++){
if(i<list1.size()){
if(list1.get(i).equals(list2.get(i))==false){
//如果相同位置不相等,替换
System.out.println("第"+(i+1)+"个位置不同");
list2.set(i, list1.get(i));
}
}else{//如果list2比list1长,把多余的去掉
list2.remove(i);
}
}
System.out.println("修改后:");
System.out.println("list1=:"+list1);
System.out.println("list2=:"+list2);
}
}
======打印结果是:=====
修改前:
list1=:[a, b, c]
list2=:[d, b, f, g]
第1个位置不同
第3个位置不同
修改后:
list1=:[a, b, c]
list2=:[a, b, c]
1
本回答被提问者和网友采纳是比较相同位置的值是否相等。list1.get(i) != list2.get(j) 这样是用第一个数组的一个值和第二个数组的每个值比较。。
Java中怎么比较两个数组相同位置的数值是否相同。
直接通过下标来分别找到2个数组中的值,然后比较就行了。如果要整个数组的值和另外一个数组的比较,就用循环挨个比较。注意数组里面的值得类型,如果是引用类型的数值,比如String 类型的,建议用.equals()来比较,因为==比较的是栈空间的里面的值。
java中如何比较两个数组确定是否相等?
System.out.println("两个数组不相等");
java中数组可以比较里面的内容是否相同吗
可以的。要比较两个数组的所有值是否相等,要使用for()循环来比较,就是两个数组的长度是相同的,for循环好写,外层的与内层的长度一致。for(...;i<aa.length;i++){ for(){ } }。备注:如果两个数组的长度不一致,那就没法比较了(前提是两个数组都是满的)...
java 中如何比较两个数组对象的内容是否相等?急
System.out.println("两个数组不相等");
Java如何判断两个String数组有无相同元素
两个for循环来实现比较他们其中元素是否相等。从AString数组取出一个元素与BAString数组每个元素进行比较,若有则返回true;若无则取下一个AString数组元素与与BAString数组每个元素进行比较…… 如此直至A中元素全部取完,如果还没有相等则返回false。 注意字符串内容比较要用equals()...
java中判断两个数组是否相等的方法
==是比较地址 equals主要用来单个比较 下面是 Arrays.equals方法的源码 public static boolean equals(long[] a, long[] a2) { if (a==a2)return true;if (a==null || a2==null)return false;int length = a.length;if (a2.length != length)return false;for (int i=0; i<length; ...
java如果两个数组list1和list2内容相同
(int i = 0; i < list1.length; i++) { if (list1[i] != list2[i]) { return false; } } return true; }简单排序外加比较就好啦 排序操作有自带的工具,若要明白其排序原理,F3 一下下就好啦
java不使用equals比较两个字符串是否相同
可以把两个字符串转换成char数组然后再比较,这样就可以不用到equals了,这里只给你一个思路,自己想出来的才有成就感,想要具体代码的继续追问我再给你
在java如何判断两个字符串数组是否相等
String类的方法:public boolean equals(String str)将当前字符串与str 比较,若相同则true,否则false 大小写敏感。
Java比较两个数组的元素是否相同,不考虑顺序的因素,如{5,2,5,6,1...
public static boolean equals(int[] list1,int[] list2) { Arrays.sort(list1); Arrays.sort(list2);return Arrays.equals(list1, list2);}