这种情况适合使用 Map,Map 的键 为 nums 中的整数,值 为 nums 中整数的所有位置 —— 位置数大于 1,那么说明该整数在数组中重复

import java.util.*;

public class Main {

public static void main(String[] args) throws Exception {

int[] nums = {12, 18, 19, 15, 26, 29, 49, 15, 12, 19, 29, 12, 18};

// map 的键 为 nums 中的整数,值 为 nums 中整数的位置

Map> map = new LinkedHashMap<>(); // LinkedHashMap 可以维护键值对 加入 map 的顺序

for (int i = 0; i < nums.length; i++) {

List positions = map.get(nums[i]);

if (positions == null) { // 如果 map 的键 中不存在这个整数

positions = new ArrayList<>(1);

map.put(nums[i], positions); // 将这个整数和与其关联的位置 positions 放入 map

}

positions.add(i);

}

for (Map.Entry> entry : map.entrySet()) {

List positions = entry.getValue();

if (positions.size() > 1) { // 如果一个整数对应的位置数量大于 1,说明这个整数重复

int num = entry.getKey();

printResult(num, positions);

}

}

}

private static void printResult(int num, List positions) {

StringBuilder result = new StringBuilder();

result.append(num).append(' ').append('{');

for (Integer position : positions) {

result.append(position).append(',');

}

result.setCharAt(result.length() - 1, '}'); // 把最后一个 , 替换为 }

System.out.println(result);

}

}

数组中相同元素 java_如何在一维数组中查找某重复元素,并输出其位置?用java实现...相关推荐

  1. SWPU-DS)若有 n 阶对称矩阵 A,以行序为主序方式,将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在 B 中确定 a[i, j](i<j)

    SWPU-DS)若有 n 阶对称矩阵 A,以行序为主序方式,将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1-(n(n+1))/2]中,则在 B 中确定 a[i, j](i< ...

  2. c语言一维数组求平均成绩,C语言 计算一维数组平均值(函数).doc

    酒谆亥布福墅瞒筹崖锈促担粟靡鳖啤酒痘结挂震锈允沤施磕羹磋蝴禽埔鼓逻去晚茂唇魏纤垂巢愈敛下磺蹦迟秩巧苟盐骑榷忽桂蛛牙婆杉蘸痈瘟汐惭嚼事刽霖嗓酱阵瓷练喷敝渭铭咀檀毕舵砌汾弃渣乌斟浸道栽强藐颇一硼尤醉背即侯 ...

  3. JavaScript - 删除一维数组指定元素(移除一维数组某个项,删除指定的数组元素)

    前言 假设,您有如下数组: var arr = [ '苹果', '香蕉', '鸭梨' ] 现在您想删除 香蕉 这个元素,那么该怎么实现呢? 解决方案 注意:由于使用了 splice 方法,故 会改变原 ...

  4. c语言中输入n一个整数存入一维数组,编写程序输入n个整数到一维数组(先输入数据的个数n,再输入n个数据),然后以输入的顺序输出这些数。...

    满意答案 王毛毛00000 2014.05.25 采纳率:58%    等级:7 已帮助:613人 首先声明:我是来被骗的!因为根据经验绝大部分的一级头衔的人都是想到问题才注册百度的,别人回答了基本不 ...

  5. c语言一维数组定义可用字母吗,C语言一维数组的定义和引用

    (一)维数组的界说和引证 在程序设计中,为了处置便利,把具有一样类型的若干变量按有序的办法组织起来.这些按序摆放的同类数据元素的调集称为数组.在C言语中,数组归于布局数据类型.一个数组能够分化为多个数 ...

  6. 【C语言】数组的基本知识详细讲解(一维数组、二维数组、越界、存储.....

    接着上次的操作符的详解,让我们来简单了解C语言里的数组. 目录 一维数组的创建和初始化 一维数组的使用 一维数组的存储 二维数组的创建与初始化 二维数组的存储 数组的越界 总结 一维数组的创建和初始化 ...

  7. c语言数组求素数,C语言入门:一维数组求素数

    /* Note:Your choice is C IDE */ #include "stdio.h" void main() { //素数 //已知有数组int a[10]={1, ...

  8. 数组 函数 c语言,初学C语言-一维数组与函数

    数组与函数 数组 数组是有序的元素序列,简单点说就是存放数据的容器:数组一旦创建是不可更改的:数组中的元素在内存中是连续依次排列的. 如 int a[100]; 表示定义了一个有100个单元的数组a. ...

  9. Python算法二分查找之重复元素列表

    描述: 请实现有重复数字的升序数组的二分查找 给定一个 元素有序的(升序)长度为n的整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的第一个出现的target,如果目标 ...

最新文章

  1. html5遍历集合数据,集合框架系列教材 (五)- ArrayList - 遍历ArrayList的三种方法...
  2. 短视频未来3年的规模为3万亿元
  3. 聊聊分布式锁——Redis和Redisson的方式
  4. 解决ExcuteFile执行命令时出现“无效字符”的问题
  5. light7在微信ios下input点击困难
  6. 3年,从工程师到创始人
  7. VMware虚拟机桥接方式与真实主机共享上网
  8. Java关闭窗口和刷新
  9. 大整数算法[10] Comba乘法(实现)
  10. RFID技术如何管理图书馆
  11. 15款国内外知名优秀PHP集成环境推荐、PHP绿色集成环境推荐
  12. DDR 参数 内存延迟时序“CL-tRCD-tRP-tRAS”
  13. 厦门大学2019年数学分析考研试题
  14. math.sqrt java_Java Math sqrt() 使用方法及示例
  15. b站电脑测试用什么软件,使用BiliBili访问诊断工具检测哔哩哔哩网络的方法
  16. cad快看_CAD三维这样材质贴图,你学会了吗 ?
  17. 计算机快速启动BIOS,掌握50个电脑BIOS启动快捷键,再也不为装系统发愁了!
  18. NLB(网络负载平衡)+ADFS场高可用性安装
  19. jlink_v8原理图
  20. JavaWeb——动态页面技术(JSP/EL/JSTL)

热门文章

  1. YOLO利用kmeans聚类算法计算anchors box(原理介绍及代码)
  2. 修改mysql默认字符集为latin1_修改MYSQL默认编码为UTF8
  3. python 框架和 spring mvc_整合WebSphere Portal 7和Spring 3.0 Portlet MVC(下)
  4. java判断那个时间更晚_如何用Java判断日期是早于还是晚于另一个日期
  5. apache下虚拟域名配置
  6. matlab解微分方程组_MATLAB编程入门 求解常微分方程 通解 特解 数值解
  7. python程序控制结构与分支的实验报告_Python程序设计实验报告三:分支结构程序设计...
  8. java filter与servlet,Servlet中的Filter和Listener之间的区别(Java EE)
  9. 二级计算机环境,计算机环境变量_二级计算机关于变量的问题
  10. 鼠标偏移量_不止颜值!活动鼠标使用评测