我有一个文本文件格式化是这样的:尽量不相同的值存储在一个ArrayList
David
David
David
Vo
Vo
,这里是类Ord
和Ordliste
(意思是“字”和“词表”),这是两个分开的文件。
字:(Verdi
的意思是 “价值”,hentAntall
的意思是 “获得价值”,并oekAntall
表示 “加薪值”)
class Ord {
private String tekst;
private int verdi = hentAntall();
public Ord(String tekst) {
this.tekst = tekst;
this.verdi = verdi;
}
public String toString(){
return tekst;
}
public int hentAntall() {
return verdi;
}
public void oekAntall() {
verdi++;
}
}
单词表:
import java.util.Scanner;
import java.util.ArrayList;
import java.io.File;
class Ordliste {
private ArrayList<Ord> list = new ArrayList<>();
public void readFile(String filnavn) throws Exception {
File fil = new File(filnavn);
Scanner s = new Scanner(fil);
Ord empty = new Ord("");
list.add(empty);
while(s.hasNextLine()) {
String linjeTekst = s.nextLine();
addOrd(linjeTekst);
}
System.out.println(list.get(1));
System.out.println(list.get(1).hentAntall());
System.out.println(list.get(2));
//I use this part to check the arraylist
}
private void addOrd(String ord) {
for (int i = 0; i < list.size(); i++){
if (list.get(i).toString().equalsIgnoreCase(ord)) {
list.get(i).oekAntall();
}
else {
Ord nyOrd = new Ord(ord);
list.add(nyOrd);
}
}
}
我认为有我的addWord方法有问题,因为存储在我的数组列表中的值是David David David Vo Vo
,而不仅仅是我认为的David Vo
。我也不应该添加任何东西到我的Ord
类。
的'''ArrayList'''门店重复。你想使用''''Set''的一些变体,它省略了重复。 – Siddhartha
为什么不使用Set集合? – Klever
但是,如果您看一下我的addWord方法,则只应将其值增加1,如果它是相同的单词,并且如果它是新单词,则将新单词添加到列表中。 @Siddhartha。 –