2016-11-24 64 views
0

我有一個查詢字符串像如何在java中創建3維數組?

"1_timestamp=201612312&1_user=123&2_timestamp=20145333&2_user=5432"; 

但我想讓他們陣中像下面。

array(
    0 => (
     timestamp = 201612312, 
     user = 123, 
     ), 
    1 => (
     timestamp = 201612312, 
     user = 123, 
     ), 
); 

我很抱歉向您展示php類型的數組,雖然我是新來的java。

我該如何做到這一點?

謝謝

+2

Map'的'思考。 –

+2

編寫類並創建對象以表示您的數據,而不是創建多維數組。 –

+0

你想*解析字符串'1_timestamp = 201612312&1_user = 123&2_timestamp = 20145333&2_user = 5432'嗎? –

回答

2

這是最接近結構和你在PHP在做什麼,如果你的數據有更多的領域可以很容易地添加到數據類:

import java.util.ArrayList; 
import java.util.List; 

class Data { 
    int timestamp; 
    int user; 

    Data(int ts, int user) { 
     this.timestamp = ts; 
     this.user = user; 
    } 
} 

public class Test { 

    public static void main(String[] args) { 
     List<Data> data = new ArrayList<Data>(); 
     Data d1 = new Data(201612312, 123); 
     Data d2 = new Data(201612312, 123); 
     data.add(d1); 
     data.add(d2); 

     System.out.println(data.get(1).user); 
    } 
} 
+0

謝謝!!雖然這不是我所期待的完美之一,但這幫助我瞭解瞭如何解決問題。 –

1

你可以不用寫一個類。你可以像這樣使用它。

Map<String, String> map1 = new HashMap<String, String>(); 
map1.put("1_timestamp", "201612312"); 
map1.put("1_user", "123"); 

Map<String, String> map2 = new HashMap<String, String>(); 
map2.put("2_timestamp", "20145333"); 
map2.put("2_user", "5432"); 

List<Map<String,String> mapList = new ArrayList<Map<String, String>>(); 
mapList.add(map1); 
mapList.add(map2); 

for (Map<String, String> map : list) { 
    for (Map.Entry<String, String> entry : map.entrySet()) { 
     System.out.println(entry.getKey() + " - " + entry.getValue()); 
    } 
} 
+0

不好,他不會得到'timestamp'和'user'的標籤 – Aroniaina