java数据问题,请帮帮忙啊,很急。。 怎么样知道数组里有多少相同的数据,并把这些相同的数据相加。例如:ArrayList 里有{789,6,77,789,109,77...};请写下源码啊。谢谢了各位 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] args) { //new Excle(); ArrayList<Integer> list = new ArrayList<Integer>(); list.add(10); list.add(10); list.add(19); list.add(19); list.add(19); list.add(7); list.add(98); int sum=0; int m=0;//记录相等的数目 //除掉重复的,减少遍历次数 HashSet<Integer> hs = new HashSet<Integer>(); hs.addAll(list); for(Integer i:hs){ System.out.println("i="+i); for(Integer j:list){ if(i==j){//相等 m++; } } if(m>=2){//说明有重复的 sum+=i; } m=0; } System.out.println("sum="+sum); } 楼上代码效率低, 应该先排序后判断import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(new Integer(1)); list.add(new Integer(4)); list.add(new Integer(13)); list.add(new Integer(13)); list.add(new Integer(13)); list.add(new Integer(2)); list.add(new Integer(3)); list.add(new Integer(3)); list.add(new Integer(3)); list.add(new Integer(4)); list.add(new Integer(0)); Collections.sort(list); Iterator<Integer> i = list.iterator(); int oi = 0; int flag = 0; int count = 1; while(i.hasNext()){ int ni = i.next().intValue(); if(flag!=0){ if(ni - oi ==0){ count++; }else{ if(count!=1){ System.out.println("数'"+oi+"'出现了"+count+"次"); count = 1; } } } flag ++; if(flag==list.size()){ if(count!=1){ System.out.println("数'"+ni+"'出现了"+count+"次"); } } oi = ni ; } } } 大家好!请教一个程序如何设计的问题 Console的输出顺序问题 如何在linux下安装2个不同的jdk 一个关于逻辑符号的问题 求一正则表达式 鼠标右键点击不能识别响应! 疑惑中。。。。。 初学java,问:main(String[] arguments){...}中主函数的两个参数的意思 有没有大虾能给介绍一下java啊~!?让新手也能对java有一个概念~!决定自己的发展方向啊? 京京工作是的书是不是很烂! 该选择什么开发工具?来者有分! java字符与字节的问题(算分给热心的朋友) 请问eclipse如何关闭括号匹配与代码补全
//new Excle();
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(10);
list.add(10);
list.add(19);
list.add(19);
list.add(19);
list.add(7);
list.add(98); int sum=0;
int m=0;//记录相等的数目
//除掉重复的,减少遍历次数
HashSet<Integer> hs = new HashSet<Integer>();
hs.addAll(list);
for(Integer i:hs){
System.out.println("i="+i);
for(Integer j:list){
if(i==j){//相等
m++;
}
}
if(m>=2){//说明有重复的
sum+=i;
}
m=0;
}
System.out.println("sum="+sum);
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(new Integer(1));
list.add(new Integer(4));
list.add(new Integer(13));
list.add(new Integer(13));
list.add(new Integer(13));
list.add(new Integer(2));
list.add(new Integer(3));
list.add(new Integer(3));
list.add(new Integer(3));
list.add(new Integer(4));
list.add(new Integer(0));
Collections.sort(list);
Iterator<Integer> i = list.iterator();
int oi = 0;
int flag = 0;
int count = 1;
while(i.hasNext()){
int ni = i.next().intValue();
if(flag!=0){
if(ni - oi ==0){
count++;
}else{
if(count!=1){
System.out.println("数'"+oi+"'出现了"+count+"次");
count = 1;
}
}
}
flag ++;
if(flag==list.size()){
if(count!=1){
System.out.println("数'"+ni+"'出现了"+count+"次");
}
}
oi = ni ;
}
}
}