Java 从arraylist的和中获取arraylist值的百分比
我有一个数组列表,其中有一些值,比如Java 从arraylist的和中获取arraylist值的百分比,java,arraylist,Java,Arraylist,我有一个数组列表,其中有一些值,比如 ArrayList<Integer> keyList = new ArrayList<Integer>(treeMap.keySet()); double sum=0.0//如果您使用的版本早于java-8 //double sum=IntStream.of(keyList.sum()//如果您使用的是java-8 对于(int i=0;i
ArrayList<Integer> keyList = new ArrayList<Integer>(treeMap.keySet());
double sum=0.0//如果您使用的版本早于java-8
//double sum=IntStream.of(keyList.sum()//如果您使用的是java-8
对于(int i=0;i
在java 8中,您可以这样做:
ArrayList<Integer> arrayList = new ArrayList<>(Arrays.asList(62, 58, 10, 6));
double sum = arrayList.stream().mapToInt(Integer::intValue).sum();
arrayList.stream().forEach(i -> System.out.printf("%.2f%% ", (i / sum) * 100));
ArrayList ArrayList=新的ArrayList(Arrays.asList(62,58,10,6));
double sum=arrayList.stream().mapToInt(Integer::intValue.sum();
arrayList.stream().forEach(i->System.out.printf(“%.2f%%”,(i/sum)*100));
到目前为止,您尝试了什么?你在这里找什么?你在哪里被卡住了?把数组中的每个整数除以已知值有什么问题?
double sum = 0.0; //if you use version earlier than java-8
//double sum = IntStream.of(keyList).sum(); //if you are using java-8
for(int i = 0 ; i < keyList.size() ; i++){
sum += keyList.get(i);
}
for(int i = 0 ; i < keyList.size() ; i++){
System.out.println((keyList.get(i)/sum )*100 + "%");
}
ArrayList<Integer> arrayList = new ArrayList<>(Arrays.asList(62, 58, 10, 6));
double sum = arrayList.stream().mapToInt(Integer::intValue).sum();
arrayList.stream().forEach(i -> System.out.printf("%.2f%% ", (i / sum) * 100));