Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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 我如何计算数组列表?_Java_Arraylist - Fatal编程技术网

Java 我如何计算数组列表?

Java 我如何计算数组列表?,java,arraylist,Java,Arraylist,我曾尝试将文本文件读入arraylist。 假设我有一个这样的arraylist [A, MANBA] [A, PGD] [A, GUSB] [A, GLB1] [B, HS6ST1] [B, NDST1] [B, NDST4] [C, NRP1] [C, ZEB1] 如何计算第一个值的出现次数并将其打印出来? 如本例所示,输出将是 A 4 B 3 C 2 这是我到目前为止的代码。任何建议都将不胜感激 import java.io.File; import java.io.FileNo

我曾尝试将文本文件读入arraylist。 假设我有一个这样的arraylist

[A, MANBA]
[A, PGD]
[A, GUSB]
[A, GLB1]
[B, HS6ST1]
[B, NDST1]
[B, NDST4]
[C, NRP1]
[C, ZEB1]
如何计算第一个值的出现次数并将其打印出来? 如本例所示,输出将是

A  4
B  3
C  2
这是我到目前为止的代码。任何建议都将不胜感激

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;

public class PI_list{
public static void main (String[] args) throws FileNotFoundException
{
    Scanner inputFile = new Scanner(new File("/home/tab.csv"));
    while(inputFile.hasNextLine()){
        String line = inputFile.nextLine();
        ArrayList<String> PPIData = new ArrayList<String>();
        Scanner scanner = new Scanner(line);
        scanner.useDelimiter("\t");
        while(scanner.hasNext()){
            PPIData.add(scanner.next());
        }
        scanner.close();

        System.out.println(PPIData);
    }

    inputFile.close();
    }
}
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.ArrayList;
导入java.util.Scanner;
公共类PI_列表{
公共静态void main(字符串[]args)引发FileNotFoundException
{
扫描仪输入文件=新扫描仪(新文件(“/home/tab.csv”);
while(inputFile.hasNextLine()){
String line=inputFile.nextLine();
ArrayList PPIData=新的ArrayList();
扫描仪=新扫描仪(行);
scanner.useDelimiter(“\t”);
while(scanner.hasNext()){
add(scanner.next());
}
scanner.close();
系统输出println(PPIData);
}
inputFile.close();
}
}
使用简单的

public String countOccurences(String letter,List<String> array){
  int counter = 0; 
  for(String s : array){
      if(s.equals(letter))
        counter++;
   }
  return letter + ": " + String.valueOf(counter);
}

public void getResult(List<String> array){
  Set<String> setOfLetters = new HashSet<String>();
  List<String> dataArray = new ArrayList<String>();
  for(String s: array){
     s.replace("[","");
     s.replace("]","");
     String tab[] = s.split(",");
     setOfLetters.add(tab[0]);
     dateArray.add(tab[0]);
 }
 for(String s: setOfLetters)
    countOccurences(s,dataArray);
}
public String countoccurrences(字符串字母、列表数组){
int计数器=0;
for(字符串s:数组){
如果(s.等于(字母))
计数器++;
}
返回字母+“:”+String.valueOf(计数器);
}
public void getResult(列表数组){
Set setOfLetters=new HashSet();
List dataArray=new ArrayList();
for(字符串s:数组){
s、 替换(“[”,”);
s、 替换(“]”,“”);
字符串选项卡[]=s.split(“,”);
添加(选项卡[0]);
dateArray.add(选项卡[0]);
}
用于(字符串s:一组字符)
计数发生次数(个,数据数组);
}
因此,您的代码应该是这样的

public static void main (String[] args) throws FileNotFoundException
{
    Scanner inputFile = new Scanner(new File("/home/tab.csv"));
    while(inputFile.hasNextLine()){
        String line = inputFile.nextLine();
        ArrayList<String> PPIData = new ArrayList<String>();
        Scanner scanner = new Scanner(line);
        scanner.useDelimiter("\t");
        while(scanner.hasNext()){
            PPIData.add(scanner.next());
        }
        scanner.close();
        getResult(PPIData);
        System.out.println(PPIData);
    }
publicstaticvoidmain(字符串[]args)抛出FileNotFoundException
{
扫描仪输入文件=新扫描仪(新文件(“/home/tab.csv”);
while(inputFile.hasNextLine()){
String line=inputFile.nextLine();
ArrayList PPIData=新的ArrayList();
扫描仪=新扫描仪(行);
scanner.useDelimiter(“\t”);
while(scanner.hasNext()){
add(scanner.next());
}
scanner.close();
getResult(PPIData);
系统输出println(PPIData);
}
当然可以使用我的上述方法

将其合并到所有类中

public class PI_list {

    public static String countOccurences(String letter, List<String> array) {
        int counter = 0;
        for (String s : array) {
            if (s.equals(letter))
                counter++;
        }
        return letter + ": " + String.valueOf(counter);
    }

    public static void getResult(List<String> array) {
        Set<String> setOfLetters = new HashSet<String>();
        List<String> dataArray = new ArrayList<String>();
        for (String s : array) {
            s.replace("[", "");
            s.replace("]", "");
            String tab[] = s.split(",");
            setOfLetters.add(tab[0]);
            dataArray.add(tab[0]);
        }
        for (String s : setOfLetters)
            System.out.println(countOccurences(s, dataArray));
    }

    public static void main(String[] args) throws FileNotFoundException {
        Scanner inputFile = new Scanner(new File("/home/tab.csv"));
        while (inputFile.hasNextLine()) {
            String line = inputFile.nextLine();
            ArrayList<String> PPIData = new ArrayList<String>();
            Scanner scanner = new Scanner(line);
            scanner.useDelimiter("\t");
            while (scanner.hasNext()) {
                PPIData.add(scanner.next());
            }
            getResult(PPIData);
            System.out.println(PPIData);
        }
        inputFile.close();
    }

}
公共类PI\u列表{
公共静态字符串计数出现次数(字符串字母、列表数组){
int计数器=0;
for(字符串s:数组){
如果(s.等于(字母))
计数器++;
}
返回字母+“:”+String.valueOf(计数器);
}
公共静态void getResult(列表数组){
Set setOfLetters=new HashSet();
List dataArray=new ArrayList();
for(字符串s:数组){
s、 替换(“[”,”);
s、 替换(“]”,“”);
字符串选项卡[]=s.split(“,”);
添加(选项卡[0]);
dataArray.add(制表符[0]);
}
用于(字符串s:一组字符)
System.out.println(countoccurrences(s,dataArray));
}
公共静态void main(字符串[]args)引发FileNotFoundException{
扫描仪输入文件=新扫描仪(新文件(“/home/tab.csv”);
while(inputFile.hasNextLine()){
String line=inputFile.nextLine();
ArrayList PPIData=新的ArrayList();
扫描仪=新扫描仪(行);
scanner.useDelimiter(“\t”);
while(scanner.hasNext()){
add(scanner.next());
}
getResult(PPIData);
系统输出println(PPIData);
}
inputFile.close();
}
}
使用简单的

public String countOccurences(String letter,List<String> array){
  int counter = 0; 
  for(String s : array){
      if(s.equals(letter))
        counter++;
   }
  return letter + ": " + String.valueOf(counter);
}

public void getResult(List<String> array){
  Set<String> setOfLetters = new HashSet<String>();
  List<String> dataArray = new ArrayList<String>();
  for(String s: array){
     s.replace("[","");
     s.replace("]","");
     String tab[] = s.split(",");
     setOfLetters.add(tab[0]);
     dateArray.add(tab[0]);
 }
 for(String s: setOfLetters)
    countOccurences(s,dataArray);
}
public String countoccurrences(字符串字母、列表数组){
int计数器=0;
for(字符串s:数组){
如果(s.等于(字母))
计数器++;
}
返回字母+“:”+String.valueOf(计数器);
}
public void getResult(列表数组){
Set setOfLetters=new HashSet();
List dataArray=new ArrayList();
for(字符串s:数组){
s、 替换(“[”,”);
s、 替换(“]”,“”);
字符串选项卡[]=s.split(“,”);
添加(选项卡[0]);
dateArray.add(选项卡[0]);
}
用于(字符串s:一组字符)
计数发生次数(个,数据数组);
}
因此,您的代码应该是这样的

public static void main (String[] args) throws FileNotFoundException
{
    Scanner inputFile = new Scanner(new File("/home/tab.csv"));
    while(inputFile.hasNextLine()){
        String line = inputFile.nextLine();
        ArrayList<String> PPIData = new ArrayList<String>();
        Scanner scanner = new Scanner(line);
        scanner.useDelimiter("\t");
        while(scanner.hasNext()){
            PPIData.add(scanner.next());
        }
        scanner.close();
        getResult(PPIData);
        System.out.println(PPIData);
    }
publicstaticvoidmain(字符串[]args)抛出FileNotFoundException
{
扫描仪输入文件=新扫描仪(新文件(“/home/tab.csv”);
while(inputFile.hasNextLine()){
String line=inputFile.nextLine();
ArrayList PPIData=新的ArrayList();
扫描仪=新扫描仪(行);
scanner.useDelimiter(“\t”);
while(scanner.hasNext()){
add(scanner.next());
}
scanner.close();
getResult(PPIData);
系统输出println(PPIData);
}
当然可以使用我的上述方法

将其合并到所有类中

public class PI_list {

    public static String countOccurences(String letter, List<String> array) {
        int counter = 0;
        for (String s : array) {
            if (s.equals(letter))
                counter++;
        }
        return letter + ": " + String.valueOf(counter);
    }

    public static void getResult(List<String> array) {
        Set<String> setOfLetters = new HashSet<String>();
        List<String> dataArray = new ArrayList<String>();
        for (String s : array) {
            s.replace("[", "");
            s.replace("]", "");
            String tab[] = s.split(",");
            setOfLetters.add(tab[0]);
            dataArray.add(tab[0]);
        }
        for (String s : setOfLetters)
            System.out.println(countOccurences(s, dataArray));
    }

    public static void main(String[] args) throws FileNotFoundException {
        Scanner inputFile = new Scanner(new File("/home/tab.csv"));
        while (inputFile.hasNextLine()) {
            String line = inputFile.nextLine();
            ArrayList<String> PPIData = new ArrayList<String>();
            Scanner scanner = new Scanner(line);
            scanner.useDelimiter("\t");
            while (scanner.hasNext()) {
                PPIData.add(scanner.next());
            }
            getResult(PPIData);
            System.out.println(PPIData);
        }
        inputFile.close();
    }

}
公共类PI\u列表{
公共静态字符串计数出现次数(字符串字母、列表数组){
int计数器=0;
for(字符串s:数组){
如果(s.等于(字母))
计数器++;
}
返回字母+“:”+String.valueOf(计数器);
}
公共静态void getResult(列表数组){
Set setOfLetters=new HashSet();
List dataArray=new ArrayList();
for(字符串s:数组){
s、 替换(“[”,”);
s、 替换(“]”,“”);
字符串选项卡[]=s.split(“,”);
添加(选项卡[0]);
dataArray.add(制表符[0]);
}
用于(字符串s:一组字符)
System.out.println(countoccurrences(s,dataArray));
}
公共静态void main(字符串[]args)引发FileNotFoundException{
扫描仪输入文件=新扫描仪(新文件(“/home/tab.csv”);
while(inputFile.hasNextLine()){
String line=inputFile.nextLine();
ArrayList PPIData=新的ArrayList();
扫描仪=新扫描仪(行);
sca