Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从arraylist的和中获取arraylist值的百分比_Java_Arraylist - Fatal编程技术网

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));