我的帮助。
我为我的英语道歉,它还在学习。我在Java中用GUI做了一个应用程序。我有一个问题。
在这个应用程序中,我有一个我想要与数据相遇的ArrayList。
用户点击按钮,来自JTextfield的数据应放在Arraylist中。
当他们这样做时,它只插入第一行。 Arraylist中的其他条目不是。
请问我该怎么做。
以下是我的申请代码:
public void save_to_array(String jmeno_zad,
String prijmeni_zad,
String rodne_cislo_zad,
String mesto_zad,
String spz_zad,
String barva_zad,
String vin_zad,
String znacka_zad){
String arraytext=prijmeni_zad+ ","+
jmeno_zad+ ","+
rodne_cislo_zad+ ","+
mesto_zad+","+
spz_zad+","+
barva_zad+","+
vin_zad+","+
znacka_zad;
int posl=arlist.size();
if(arlist.isEmpty()||posl==1){
arlist.add(0,arraytext);
}
if(!arlist.isEmpty()&& posl>1){
arlist.add(posl-1, cele_jmeno);
}
}
答案 0 :(得分:4)
只需使用ArrayList.add(arraytext),而不是ArrayList.add(0,arraytext)。你真的不在乎它最终的位置,对吗?
替换
int posl=arlist.size();
if(arlist.isEmpty()||posl==1){
arlist.add(0,arraytext);
}
if(!arlist.isEmpty()&& posl>1){
arlist.add(posl-1, cele_jmeno);
}
带
arlist.add(arraytext);
答案 1 :(得分:4)
到目前为止,您收到的所有答案都是正确的。确切地说,如果你想将它添加到一个arraylist而你并不真正关心这个位置,那就用
arrayList.add(arrayText)
否则,使用TreeSet会有所帮助。
我尝试这个问题的原因是因为,你的方法参数产生了臭味。我对提出适当建议的问题很少。
答案 2 :(得分:0)
好的,让我看看我是否正确。
你有一个JTextField。
至于你的代码我明白,如果arraylist是空的,你应该把文本放在第一个位置。
如果不是空的,它应该进入以下位置?
就是这样:
public void saveToArray( String jmeno_zad,
String prijmeni_zad,
String rodne_cislo_zad,
String mesto_zad,
String spz_zad,
String barva_zad,
String vin_zad,
String znacka_zad) {
String arrayText=prijmeni_zad+ ","+
jmeno_zad+ ","+
rodne_cislo_zad+ ","+
mesto_zad+","+
spz_zad+","+
barva_zad+","+
vin_zad+","+
znacka_zad;
arrayList.add( arrayText );
}
默认情况下,如果arraylist为空,则文本将位于第1个位置。下一个添加将在第二,第三等。
我希望这会有所帮助。
答案 3 :(得分:0)
如果您关心它的位置,请尝试将其添加到SortedSet(可能是TreeSet)