Java 我如何计算数组列表?
我曾尝试将文本文件读入arraylist。 假设我有一个这样的arraylistJava 我如何计算数组列表?,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
[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