我有一個2-D數組,其中每個單元格都是一個Set。 在每個集合中都是不同的大小,例如,範圍從0到5.如何使用不同大小的單元打印二維數組?
我想以易於閱讀的格式打印出2-D數組。
例
HashSet<String>[][] schedule = (HashSet<String>[][]) new HashSet[3][5];
schedule[0][0].add("A");
schedule[0][0].add("B");
schedule[0][0].add("C");
schedule[0][2].add("D");
schedule[0][2].add("E");
schedule[1][0].add("F");
schedule[1][1].add("G");
schedule.print();
會產生
-----------------
| A | | D | | |
| B | | E | | |
| C | | | | |
-----------------
| F | G | | | |
-----------------
| | | | | |
-----------------
顯然沒有 ' - ' 和 '|',但你明白了吧。
我能想到的唯一可行的解決方案是創建和記憶每列的迭代器(所以同時記住5個迭代器)並迭代每列,每次輸出一個元素,直到沒有更多元素任何迭代器。
一個問題是,在G的情況下,即使第一行第二列中沒有任何值,它也會展開第二列。我可以通過使用製表符緩衝每列來解決這個問題。
很明顯,這個黑客並沒有擴展到其他列,所以我想知道是否有任何可能會忘記的可愛技巧。
謝謝!
是'JTable'的選擇嗎? – trashgod 2011-12-24 00:59:42
我會檢查出來的!謝謝。 – Calvin 2011-12-24 02:19:17