62,615
社区成员
发帖
与我相关
我的任务
分享
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class Random {
public static void main(final String[] args) {
List<Integer> list1 = new ArrayList<Integer>() {
{
add(null);
add(11);
add(null);
add(13);
add(null);
add(15);
add(16);
add(17);
add(null);
add(null);
add(100);
}
};
List<Integer> list2 = new ArrayList<Integer>() {
{
add(null);
add(11);
add(13);
add(16);
add(14);
add(15);
add(17);
add(16);
add(null);
add(null);
add(null);
add(null);
add(120);
}
};
printList("list1", list1);
printList("list2", list2);
HashSet<Integer> cache = new HashSet<Integer>(list1);
int maxSize = list1.size()>list2.size()?list1.size():list2.size();
Integer int1,int2;
int ans1=0,ans2=0,ans3=0;
for(int index = 0;index<maxSize;index++){
if(list2.size()>index){
int2 = list2.get(index);
if(int2!=null && cache.contains(int2)){
ans3++;
}
}else{
continue;
}
if(list1.size()>index){
int1 = list1.get(index);
}else{
continue;
}
if((int1!=null && int1.equals(int2))||(int2!=null && int2.equals(int1))){
ans1++;
}else {
ans2++;
}
}
cache.clear();
System.out.println("两个值都一样的个数:"+ans1);
System.out.println("键一样,值不一样的个数:"+ans2);
System.out.println("键不一样,值一样的个数:"+ans3);//list2里面的两个16存在重复
}
public static void printList(String listName, List<Integer> list) {
if (listName == null || list == null) {
return;
}
System.out.println(listName + "的数据:");
for (int listIndex = 1; listIndex < list.size(); listIndex++) {
Integer listElement = list.get(listIndex);
if (listElement != null) {
System.out.println(" " + listIndex + ":" + listElement);
} else {
System.out.println(" " + listIndex + ":" + "null");
}
}
}
}
import java.util.*;
public class ListIteratorTest {
public static void main(final String[] args) {
List list1 = new ArrayList() {
{
add(null);
add(11);
add(null);
add(13);
add(null);
add(15);
add(16);
add(17);
add(null);
add(null);
add(100);
}
};
List<Integer> list2 = new ArrayList<Integer>() {
{
add(null);
add(11);
add(13);
add(16);
add(14);
add(15);
add(17);
add(16);
add(null);
add(null);
add(null);
add(null);
add(120);
}
};
printList("list1", list1);
printList("list2", list2);
}
public static void printList(String listName, List<Integer> list) {
if (listName == null || list == null) {
return;
}
System.out.println(listName + "的数据:");
for (int listIndex = 1; listIndex < list.size(); listIndex++) {
Integer listElement = list.get(listIndex);
if (listElement != null) {
System.out.println(" " + listIndex + ":" + listElement);
} else {
System.out.println(" " + listIndex + ":" + "null");
}
}
}
}
遍历list并输出其中的数据键值对的方法为printList
稍加修改就能输出所有想要的数据了
如果是Map,可以参考下帖:
http://bbs.csdn.net/topics/390796054