jinceon 2011-05-04 22:24
浏览 150
已采纳

求相同的值

现在有4个数或字母啊或什么你喜欢的东西,输出重复的值的编号(或其他能确定身份的东西)。
比如int ddd[]={1,2,3,4};因为没有重复的值,返回null或其他你想返回的。
{2,2,3,3}返回0,1,2,3(数组下标,或其他你喜欢用的东西)
{2,1,2,3)返回0,2
{2,2,2,2}返回0,1,2,3

{2,2,2,3}返回0,1,2

数是乱序的;可能有0,1,2,3,4个相同的数。

  • 写回答

2条回答 默认 最新

  • q_wong 2011-05-05 10:04
    关注

    [code="java"]/**
    *
    * @param sourceList 基准数组
    * @param targetList 要比较的数组
    * @return 重复的index列表
    */
    private List getRepeat(List sourceList,
    List targetList) {
    List indexList = new ArrayList();
    for (int i = 0; i < targetList.size(); i++) {
    if (sourceList.contains(targetList.get(i))) {
    indexList.add(i);
    }
    }
    return indexList;
    }

    /**
     * 
     * @param indexList 重复的index列表
     */
    private void printIndex(List<Integer> indexList) {
        if (null == indexList || indexList.size() == 0) {
            System.out.println("null");
            return;
        }
        for (Integer i : indexList) {
            System.out.print(i + "、");
        }
    }
    
    @Test
    public void test() {
        List<String> sourceList = Arrays.asList("1", "2", "3", "4");
        List<String> targetList1 = Arrays.asList("2", "2", "3", "3");
        List<String> targetList2 = Arrays.asList("2", "2", "2", "2");
        List<String> targetList3 = Arrays.asList("5", "5", "5", "5");
        printIndex(getRepeat(sourceList, targetList1));
        printIndex(getRepeat(sourceList, targetList2));
        printIndex(getRepeat(sourceList, targetList3));
    
    }[/code]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?