Java 个集合,使用树集作为树图的值
Java collections, use treeset as value for treemap
我想使用 TreeMap 实现创建一个数据集合,其中 String 作为键,TreeSet 作为值,使用自己的 Mycomparator 实例排序。它不能包含重复值,因此 TreeMap。
private TreeMap<String, TreeSet<String>> tree_map = null;
public constructorTreeMap() {
tree_map = new TreeSet<String>()new MyComparator();
我无法正确实例化,我该怎么办?
之后如何向 TreeSet 添加多个字符串?
谢谢,欢迎任何帮助=)
我希望下面的例子能让事情变得更清楚:
TreeMap<String, TreeSet<String>> treeMap = null;
// First you instantiate your TreeMap
treeMap = new TreeMap<String, TreeSet<String>>();
// Next you create your TreeSet value which you can instantiate with your comparator
TreeSet<String> value = new TreeSet<String>(myComparator);
value.add("FOO");
value.add("BAR");
// Then you can insert that TreeSet as value in your TreeMap
treeMap.put("your-string-key", value);
尽管在实例化 treeMap 时,您可能需要考虑使用 Set<String>
接口 class,这会使其更通用:
TreeMap<String, Set<String>> treeMap = new TreeMap<String, Set<String>>();
您的代码在语法方面有问题。应该是这样的:
private TreeMap<String, TreeSet<String>> tree_map = null;
public SynoniemenBeheer() {
tree_map = new TreeMap<>();
TreeSet<String> tree_set = new TreeSet<>(new MyComparator());
tree_map.put("foo", tree_set);
}
要向已经存在的 TreeSet<> 添加一些元素,您可以这样做:
if (tree_map.get("foo") == null) { //null check and fill only if necessary
tree_map.put("foo", new TreeSet<>());
}
tree_map.get("foo").add("foo-foo");
首先实例化树图:
TreeMap<String, TreeSet<String>> map = new TreeMap<>();
然后实例化要放入地图的 Treeset:
TreeSet set = new TreeSet<String>(comparator);
然后将要添加的值添加到集合中:
Collections.addAll(set, "value1","value2","value3");
然后将集合放入地图中:
map.put("key", set);
我想使用 TreeMap 实现创建一个数据集合,其中 String 作为键,TreeSet 作为值,使用自己的 Mycomparator 实例排序。它不能包含重复值,因此 TreeMap。
private TreeMap<String, TreeSet<String>> tree_map = null;
public constructorTreeMap() {
tree_map = new TreeSet<String>()new MyComparator();
我无法正确实例化,我该怎么办?
之后如何向 TreeSet 添加多个字符串?
谢谢,欢迎任何帮助=)
我希望下面的例子能让事情变得更清楚:
TreeMap<String, TreeSet<String>> treeMap = null;
// First you instantiate your TreeMap
treeMap = new TreeMap<String, TreeSet<String>>();
// Next you create your TreeSet value which you can instantiate with your comparator
TreeSet<String> value = new TreeSet<String>(myComparator);
value.add("FOO");
value.add("BAR");
// Then you can insert that TreeSet as value in your TreeMap
treeMap.put("your-string-key", value);
尽管在实例化 treeMap 时,您可能需要考虑使用 Set<String>
接口 class,这会使其更通用:
TreeMap<String, Set<String>> treeMap = new TreeMap<String, Set<String>>();
您的代码在语法方面有问题。应该是这样的:
private TreeMap<String, TreeSet<String>> tree_map = null;
public SynoniemenBeheer() {
tree_map = new TreeMap<>();
TreeSet<String> tree_set = new TreeSet<>(new MyComparator());
tree_map.put("foo", tree_set);
}
要向已经存在的 TreeSet<> 添加一些元素,您可以这样做:
if (tree_map.get("foo") == null) { //null check and fill only if necessary
tree_map.put("foo", new TreeSet<>());
}
tree_map.get("foo").add("foo-foo");
首先实例化树图:
TreeMap<String, TreeSet<String>> map = new TreeMap<>();
然后实例化要放入地图的 Treeset:
TreeSet set = new TreeSet<String>(comparator);
然后将要添加的值添加到集合中:
Collections.addAll(set, "value1","value2","value3");
然后将集合放入地图中:
map.put("key", set);