如何在一维数组中查找某重复元素,并输出其位置?用java实现
2018-07-10 22:33
405 查看
public static void main(String[] args) {
Integer[] numbers={12,18,19,15,26,29,49,15,12,19,29,12,18};
//集合用来存放不重复的数字
ArrayList<Integer> numberArray=new ArrayList<>();
//嵌套集合用来存放重复数字的角标
ArrayList<ArrayList<Integer>> numberIndex=new ArrayList<>();
//集合中存放重复出现的数字
ArrayList<Integer> sameArray=new ArrayList<>();
for(int i=0;i<numbers.length;i++){//
//只遍历一遍
if(!numberArray.contains(numbers[i])){
//新数字存进集合
numberArray.add(numbers[i]);
}
else{
if(!sameArray.contains(numbers[i])){
//重复数字存进集合
sameArray.add(numbers[i]);
//在这个嵌套集合中创建存有这个数字角标的集合
ArrayList<Integer> numberHead=new ArrayList<>();
//把第一次出现该数字的角标存进集合
numberHead.add(new Integer(numberArray.indexOf(numbers[i])));
numberIndex.add(numberHead);
}
//把此次出现的该数字的角标存进集合
numberIndex.get(sameArray.indexOf(numbers[i])).add(new Integer(i));
}
}
//输出结果
for(int i=0;i<sameArray.size();i++){
System.out.println(sameArray.get(i)+"\t"+numberIndex.get(i).toString());
}
} 阅读更多
Integer[] numbers={12,18,19,15,26,29,49,15,12,19,29,12,18};
//集合用来存放不重复的数字
ArrayList<Integer> numberArray=new ArrayList<>();
//嵌套集合用来存放重复数字的角标
ArrayList<ArrayList<Integer>> numberIndex=new ArrayList<>();
//集合中存放重复出现的数字
ArrayList<Integer> sameArray=new ArrayList<>();
for(int i=0;i<numbers.length;i++){//
//只遍历一遍
if(!numberArray.contains(numbers[i])){
//新数字存进集合
numberArray.add(numbers[i]);
}
else{
if(!sameArray.contains(numbers[i])){
//重复数字存进集合
sameArray.add(numbers[i]);
//在这个嵌套集合中创建存有这个数字角标的集合
ArrayList<Integer> numberHead=new ArrayList<>();
//把第一次出现该数字的角标存进集合
numberHead.add(new Integer(numberArray.indexOf(numbers[i])));
numberIndex.add(numberHead);
}
//把此次出现的该数字的角标存进集合
numberIndex.get(sameArray.indexOf(numbers[i])).add(new Integer(i));
}
}
//输出结果
for(int i=0;i<sameArray.size();i++){
System.out.println(sameArray.get(i)+"\t"+numberIndex.get(i).toString());
}
} 阅读更多
相关文章推荐
- Java-第十四章-带参的方法(二)-编写程序,向整型数组的指定位置插入元素,并输出前后的值
- java实现查找数组中重复次数最多的字符串
- java实现单向链表CRUD,反转,排序,查找倒数第k个元素,递归输出等操作
- Java学习疑点(6)--Set集合添加元素时底层如何实现无重复元素?
- java实现把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如{3,4,5,1,2}为{1,2,3,4,5}
- 杨氏矩阵查找元素位置Java实现
- Java实现找出数组中重复次数最多的元素以及个数
- java 实现二分法查找出数组重复数字
- 个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出
- Java编程:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- C#实现如何判断一个数组中是否有重复的元素
- 杨氏矩阵查找元素位置Java实现
- [java]一次for循环实现查询有序数组中所有重复的元素
- N个有序整数数列已放在一维数组中,利用二分查找法查找整数m在数组中的位置,若找到,则输出其下标值;反之,则输出 “Not be found”
- 解析、查找数组中重复出现的元素(Java)
- Java去除数组中重复元素的两种实现
- Java实现——查找数组中连续元素的和等于给定数的子数组
- 解析、查找数组中重复出现的元素(Java)
- java 实现递归查找数组中的重复数字
- 2011-12-04 15:36 JAVA实现位向量给无重复元素的整数数组排序