Treeset 属于 set 集合中的一种数据类型,HashSet 以及LinkedHashSet 原理相同
需求:想直接在Treeset类型下,取出指定下标的元素,但是Set 下没有 get()方法,本来的需求是将 String [] 类型的数组去重,利用 Treeset 解决
去重方法之一:
/ArrayList去重
ArrayList<String> result = new ArrayList<String>();
for(String s : unique){
if(!result.contains(s))
result.add(s);
}
System.out.print("ArrayList去重结果:");
for(String s : result){
//System.out.println(s);
}
另:
// Treeset 存储数据形式
TreeSet<String> unique = new TreeSet<String>();
for (String s : exclu) { // exclu为之前的String []
unique.add(s);
}
Set / Treeset 取出指定下标index的元素
set转成list可以解决:
List <datatype> lst = new ArrayList<datatype>(Set); //
lst.get(index); // 即可获取对应下标为index的元素
对应上面的列子就是:
ArrayList <String> arruni = new ArrayList<String>(unique); for (int i = 0; i < arruni.size(); i++ ) { println(arruni.get(i));
}
注意:如果采用 Set 存储方式,在整个代码逻辑需要不断循环执行的情况下,需要注意查看 Set 是否为空,是否仍然存储以前的垃圾值,否则会影响程序执行的结果。
参考资源: