私は次のコード、果物の配列リストを持つツリーマップを持っています。removeAndAdd 関数で、[apple,orange] を削除してコンテナ 2 の bList に追加したいのですが、追加の括弧 [] が表示されてしまいました。私の方法は正しいですか?
public class TreeMapEx {
private TreeMap<Integer, List<String>> tMap = new TreeMap<Integer, List<String>>();
private List<String> aList = new ArrayList<String>();
private List<String> bList = new ArrayList<String>();
public static void main(String[] args) {
TreeMapEx tm = new TreeMapEx();
tm.addToTree();
tm.addToList(1);
tm.showItem(1);
tm.showItem(2);
tm.removeAndAdd(1);
tm.showItem(2);
}
private void addToTree() {
tMap.put(1, aList);
bList.add("dragonfruit");
tMap.put(2, bList);
}
private void addToList(int item) {
if (tMap.containsKey(item)) {
aList = new ArrayList<String>();
aList.add("apple");
aList.add("orange");
tMap.put(item, aList);
System.out.println(item + " added");
} else {
System.out.println(item + " not found");
}
}
private void showItem(int item){
System.out.println(item+" contain " + tMap.get(item));
}
private void removeAndAdd(int item){
if (tMap.containsKey(item) && tMap.containsValue(aList)) {
//remove everything from 1 and add to 2
aList = new ArrayList<String>();
List<String> temp;
temp = tMap.get(item);
bList.add(temp.toString());
}
}
}
Output:
1 added
1 contain [apple, orange]
2 contain [dragonfruit]
2 contain [dragonfruit, [apple, orange]]
コンテナ2の【リンゴ、オレンジ】の追加ブラケットの取り外し方。
このようなものに
1 added
1 contain [apple, orange]
2 contain [dragonfruit]
2 contain [dragonfruit,apple, orange]