怎样用java编写将数组中条件相同数据相加
数组R{[A,8],[B,10],[C,9],[B,4],[A,9],[D,15]},怎么可以让字母相同的数组合并,将数值相加,变成数组T{[A,17],[B,19],[...
数组R{[A,8],[B,10],[C,9],[B,4],[A,9],[D,15]},怎么可以让字母相同的数组合并,将数值相加,变成数组T{[A,17],[B,19],[C,9],[D,15]},求高手指教
展开
5个回答
展开全部
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test022 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Item> list = new ArrayList<Item>();
list.add(new Item("A", 8));
list.add(new Item("B", 10));
list.add(new Item("C", 9));
list.add(new Item("B", 4));
list.add(new Item("A", 9));
list.add(new Item("D", 15));
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
Item ti = list.get(i);
if (ti.getA() == null)
continue;
for (int j = i + 1; j < list.size(); j++) {
Item tj = list.get(j);
if (ti.getA().equals(tj.getA())) {
ti.setN(ti.getN() + tj.getN());
tj.setA(null);
}
}
}
for (Iterator<Item> it = list.iterator(); it.hasNext();) {
Item t = it.next();
if (t.getA() == null) {
it.remove();
}
}
System.out.println(list);
}
}
class Item {
String a;
int n;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public int getN() {
return n;
}
public void setN(int n) {
this.n = n;
}
public Item(String a, int n) {
super();
this.a = a;
this.n = n;
}
@Override
public String toString() {
return "Item [a=" + a + ", n=" + n + "]";
}
}
展开全部
使用Java 8 提供的stream 处理:
像求数组中偶数的和
int[] data = {1,2,3,4,5,6,7,8,9,10,11,12};
int r = Arrays.stream(data).filter(x -> x % 2 == 0).sum();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法1:从第一个开始轮询,与后面所有比较,有相同的则相加,并去除相同元素;继续论需第二个,依次类推。
方法2:将数组的值添加到map中,字母做key,值做value。添加前先判断元素是否存在,存在则将原有的值取出与现有值相加并更新。依次类推。最后将map转换成数组。
方法2:将数组的值添加到map中,字母做key,值做value。添加前先判断元素是否存在,存在则将原有的值取出与现有值相加并更新。依次类推。最后将map转换成数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[A,8]和[B,10]是什么数据结构?自定义结构体?还是哈希结构?
创建以个哈希结构H,基本就是扫描数组R里的每个元素,如果每个元素的Key值没有在H中出现过,那么就添加到H中,如果出现过则把Value值进行相加,最后按顺序将哈希结构H输出为数组类型即可
创建以个哈希结构H,基本就是扫描数组R里的每个元素,如果每个元素的Key值没有在H中出现过,那么就添加到H中,如果出现过则把Value值进行相加,最后按顺序将哈希结构H输出为数组类型即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么可能是数组哦,不过这种结构 肯定是map,用map吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询