![](/img/trans.png)
[英]How do I access individual values within a string array within a Hashmap?
[英]How do I access an array within an array?
假設我有一個.txt文件,其中的信息被逗號分割為:
IN,Indiana,6634007
雖然這是一個訪問該文件並將其拆分的片段:
for(int i=0; i < count; i++) {
line = bufferedReader2.readLine();
String space[] = line.split(",");
String abb = space[0];
String nme = space[1];
int pop = Integer.parseInt(space[2]);
states[i] = new State(abb, nme, pop);
}
這樣做的目的是可以訪問txt文件中的所有信息,因此例如這段代碼將打印出.txt文件中的確切內容:
System.out.println(states[0]);
會打印:
IN,Indiana,6634007
我的問題是,我怎么能擁有它以便我可以訪問數組的特定部分,如何打印讓我們只說“印第安納”或人口“6634007”?
PS我很抱歉,如果我的問題的標題沒有意義,我不知道如何說出來。
在某個地方,你有一個名為State
的類。 states
是此類的數組。 所以你可以在State
添加一個getter:
public int getPop() {
return pop;
}
並在您的對象上調用它,如下所示:
System.out.println(states[0].getPop());
因為states[0]
只是一個State
對象。
添加更多getter以訪問不同的字段。
從您的問題我可以意識到,您正在使用State類來存儲信息。 在這種情況下,請檢查存儲第一個參數值的狀態類。 稍后打印相應的信息,訪問其對象變量如SapuSeven所述。
例如。
public class State{
public String a;
public String b;
public int c;
public State(String x, String y, int z){
a=x;
b=y;
c=z;
}
}
現在你可以訪問了
System.out.println(states[0].b);
用於打印城市名稱
要么
你可以使用像這樣的索引來打印值
System.out.println(states[0].split(",")[2]);
如果你只想打印每一行,你可以嘗試如下:
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new FileReader("data.txt"));
String line = null;
List<String> list = new ArrayList<String>();
while((line = reader.readLine()) != null ) {
list.add(line);
}
System.out.println(list.get(0));
// TODO realease resources
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.