黑马程序员技术交流社区
标题:
数组中怎样判断是否重复,可以用最基本的if判断加for循环,大家还没有其它方法实现?
[打印本页]
作者:
MagicBoy
时间:
2014-3-19 00:27
标题:
数组中怎样判断是否重复,可以用最基本的if判断加for循环,大家还没有其它方法实现?
public class Demo {
public static void main(String[] args) {
int []age = {1,2,3,4,5,6,5};
for (int i = 0; i < age.length-1; i++) {//双层循环,定住一个,再考虑下一个!
for (int j = i+1; j < age.length; j++) {
if(age[i] == age[j]){
System.out.println("有重复的!"+i+" "+j);
break;
}
}
}
}
}
作者:
darkpiece
时间:
2014-3-19 00:39
可以转成集合去重。非常容易
作者:
郝大龙0104
时间:
2014-3-19 01:16
你可以再建一个容器 没有的存进去 有的话弃之 用这个方法需要其他的类 因为数组这个容器的容量不可变
或者采用Set集合的特性 存进的数据不能重复 你可以把数组的元素存进去 然后再把集合转变成数组。。
public static void main(String[] args) {
int[] arr ={2,4,5,6,2,4};
HashSet<Integer> hs = moveElement(arr);
Integer[] arr1 = hs.toArray(new Integer[hs.size()]);
for (Integer in : arr1) {
System.out.println(in);
}
}
public static HashSet<Integer> moveElement(int[] arr)
{
HashSet<Integer> hs = new HashSet<Integer>();
for(int i = 0; i<arr.length; i++)
{
hs.add(arr[i]);
}
return hs;
}
复制代码
希望给你有所帮助
作者:
MagicBoy
时间:
2014-3-19 14:27
郝大龙0104 发表于 2014-3-19 01:16
你可以再建一个容器 没有的存进去 有的话弃之 用这个方法需要其他的类 因为数组这个容器的容量不 ...
非常给力!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2