问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 两个数组查找出现两次以上相同的值

发布网友 发布时间:2022-04-20 12:12

我来回答

4个回答

热心网友 时间:2022-04-12 20:21

package com.akfucc.;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

/**
* @description: http://zhidao.baidu.com/question/124856697.html 查找出相同两次以上的值 如:
* 3和4
* @author akfucc
* @date Nov 9, 2009
*/
public class P124856697 {
/**
* 查找出相同两次以上的值 如: 3和4
*
* 这里只是简单地将两字符串数组存放在一个HashMap里
*
* @param args
*/
public static void main(String[] args) {
String str_1[] = { "1", "4", "3", "3", "4", "4" };
String str_2[] = { "1", "4", "3", "3", "4", "4" };
method1(str_1, str_2);
}

public static void method1(String[] str_1, String[] str_2) {
// 不讲究效率, 只求结果
Map<String, Integer> map1 = new HashMap<String, Integer>();
Map<String, Integer> map2 = new HashMap<String, Integer>();

// 放入两个MAP
for (String str : str_1) {
Integer temp = map1.get(str);
if (temp == null) {
map1.put(str, 1);
} else {
map1.put(str, temp + 1);
}
}

for (String str : str_2) {
Integer temp = map2.get(str);
if (temp == null) {
map2.put(str, 1);
} else {
map2.put(str, temp + 1);
}
}

// 两个MAP 比较
Set<Entry<String, Integer>> set1 = map1.entrySet();
for (Entry<String, Integer> entry : set1) {
int num1 = entry.getValue().intValue();
if (num1 > 1) {
int num2 = map2.get(entry.getKey()).intValue();
if (num2 > 1) {
// 简单地测试, 仅仅打印出来, 如果你需要的话, 可以用List存放起来
System.out.println(entry.getKey());
}
}
}
}
}

热心网友 时间:2022-04-12 21:39

public static void main(String[] args) {
String str_1[] = {"1","4","3","3","4","4"};
String str_2[] = {"1","4","3","3","4","4"};

Set <String>doub1=new HashSet<String>();//保存在str_1中出现2次以上的
Set <String>set1=new HashSet<String>();//保存 去除 str_1中所有重复的
for(String s: str_1){
if(!set1.add(s)){//如果返回false说明已经存在也就是重复了,添加到doub1中
doub1.add(s);
}
}
Set <String>doub2=new HashSet<String>();
Set <String>set2=new HashSet<String>();
for(String s: str_2){
if(!set2.add(s)){
doub2.add(s);
}
}
doub1.retainAll(doub2);//从doub1中去除不在doub2中出现的,doub1剩余的就是符合条件的
System.out.println(doub1);
}

热心网友 时间:2022-04-12 23:14

在同一元素下标位置相等才算出现相同一次
static public List<T> equalsList(T[] o1,T[] o2,int times){
List<T> list=new ArrayList<T>();
Map<T,Integer> map=new HashMap<T,Integer>();
int length=o1.length<o2.length?o1.length:o2.length;
for(int i=0;i<length;i++){
if(o1[i].equals(o2[i]){
if(map.containsKey(o1[i]) {
int timers=map.get(o1[i]);
map.put(o1[i],timers++);
}//if(map)
else map.put(o1[i],1);
}//if(equals)
}//for
Set<T> set=(Set<T>)map.keySet();
Iterator<T> iterator= (Iterator<T>)set.iterator();
while(iterator.hasNext()){
T the=(T)iterator.next();
int timers=map.get(the);
if(timers>=times) list.add(the);
}//while
return list;
}//static public method

热心网友 时间:2022-04-13 01:05

List list1=Arrays.asList(str_1);
List list2=list1.retainAll(Arrays.asList(str_2));

list2里就是你要的结果

这么可怜,居然不能编译,1.4的是不行。修改为:
List list1=new ArrayList(Arrays.asList(str_1));
List list2=list1.retainAll(new ArrayList(Arrays.asList(str_2)));
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
今年是第几届世界杯啊? 今年是第几届世界杯 还关于奖杯 今年这是第几届世界杯? ...的,但当时心悦会员留的手机号早就不用了,现在也改不了,会有安全问题... 我们的大脑会"停止运作"或者"卡机“吗? ...当时大脑空白几分钟这是为什么?代表什么?我还没谈过恋爱。。_百度知... 大脑当机是什么意思? 中山招商银行在那里有 八字合婚:属鸡和属狗的合财吗 婚配好不好呢 一分钟能干什么作文一分钟能干什么作文范文 怎样在多个excel表中查找相同的值,重复2次的有几... excel中,是重复出现两次以上的!找出两列数据的相... 如何取消苹果手机上的呼叫限制功能 梦见现在大河中间是怎么回事 梦见很宽很平静的大河水 梦见一条大河水面很宽很平静我走过去河水下面是干... 梦见大河,牛迎面跑来? 梦见一条又宽又清澈的大河不停的上涨淹没了我家三... 梦见大河是什么意思?而且还是三条大河,都从我身... 二类卡怎么升级一类卡 当将二类建行卡升级成一类卡时,出现已存在一类账户... 我名下有3张建行一类卡和一张=类卡能不能把一类卡... 怎样把二类卡升级为一类卡 银行二类卡如何变成一类卡 建行二类卡升级一类卡一个月不能用吗? 我的社保卡是建设银行二类卡,我想升级成一类卡,... 二类银行卡能升级一类卡吗 如何把二类卡升级为一类卡 银行卡二类卡怎么升级一类卡 建行卡可以在异地将二类卡升级成一类卡吗? excel中,找出两列数据的相同值,是重复出现两次以... excel怎样查找、合并同类信息? 找同类二次根式 找出两次计算相同的苹果数,可知这堆苹果有几个? EXCEL用什么公式可以提取最后两次的相同种类再求平... 找出下列各式中的同类二次根式 sql server如何查询出某个字段重复出现两次以上的数据 查找同类数学题的ap 什么是同类二次项? 我的电脑在第二次搜索相同的内容时,输入内容到一... 同一批人收了两次数据,怎么在Excel里把相同人的数... 同类两次根式? 找一本类似《高手寂寞》的小说。这是我唯一看过两... 找一部老英文电影不记得名字了(看过两遍的)类似... 梦见两次相同在陌生的路上找一个地方,隔了很长时... blue同类词词是什么? 怎么买人民币卢布外汇 10000卢布等于多少人民币 卢布和人民币汇率是多少 1卢布可以换算多少人民币