TreeSet 不添加最后一个元素
TreeSet not Adding Last Elements
在现在的两个项目中,在某些情况下,我无法将任何整数 0 或 1 添加到 TreeSet<Integer>
。我能够在第一个上解决它,但这次我确实需要我从中获取数字的数组中的每个元素都进入 TreeSet。测试代码如下。
int[] arr = {10, 9, 8, 7, 6, 4, 3, 3, 3, 2, 2, 2, 1, 0};
java.util.TreeSet<Integer> set = new java.util.TreeSet<Integer>();
for(int i: arr)
set.add(arr[i]);
System.out.println(set);
如果我将 0 和 1 放在列表的前面,它就可以完美运行。但是我确实在任何情况下都需要那个TreeSet中的每个元素,而不仅仅是一些,因为在实际项目中,我需要生成一堆随机数并以各种方式对它们进行排序。
这不是您在 java 中打印 TreeSet 的方式。
这是你应该使用的:
for(Integer number : set){
System.out.println(number);
}
直接打印列表、数组、集合或任何类型的集合总是会得到无法使用的结果。
此外,您没有正确地向 TreeSet 添加项目。应该是:
for(int i: arr){
set.add(i);
}
您正在将 arr[i] 添加到集合中,而不是添加 i。
你可以拿这个我用 ArrayList 而不是 Array 做 Treeset 你可以添加元素
它工作正常:)
package Whosebugtest;
import java.util.ArrayList;
import java.util.List;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
List<String> sets= new ArrayList<>();
sets.add("10");
sets.add("9");
sets.add("8");
sets.add("7");
sets.add("6");
sets.add("4");
sets.add("3");
sets.add("3");
sets.add("3");
sets.add("2");
sets.add("2");
sets.add("2");
sets.add("1");
sets.add("0");
TreeSet<String> set = new TreeSet<>();
set.addAll(sets);
System.out.println(set);
System.out.println(set.descendingSet());
System.out.println(set.first());
System.out.println(set.last());
}
}
你的输出
[0, 1, 10, 2, 3, 4, 6, 7, 8, 9]
[9, 8, 7, 6, 4, 3, 2, 10, 1, 0]
0
9
在现在的两个项目中,在某些情况下,我无法将任何整数 0 或 1 添加到 TreeSet<Integer>
。我能够在第一个上解决它,但这次我确实需要我从中获取数字的数组中的每个元素都进入 TreeSet。测试代码如下。
int[] arr = {10, 9, 8, 7, 6, 4, 3, 3, 3, 2, 2, 2, 1, 0};
java.util.TreeSet<Integer> set = new java.util.TreeSet<Integer>();
for(int i: arr)
set.add(arr[i]);
System.out.println(set);
如果我将 0 和 1 放在列表的前面,它就可以完美运行。但是我确实在任何情况下都需要那个TreeSet中的每个元素,而不仅仅是一些,因为在实际项目中,我需要生成一堆随机数并以各种方式对它们进行排序。
这不是您在 java 中打印 TreeSet 的方式。
这是你应该使用的:
for(Integer number : set){
System.out.println(number);
}
直接打印列表、数组、集合或任何类型的集合总是会得到无法使用的结果。
此外,您没有正确地向 TreeSet 添加项目。应该是:
for(int i: arr){
set.add(i);
}
您正在将 arr[i] 添加到集合中,而不是添加 i。
你可以拿这个我用 ArrayList 而不是 Array 做 Treeset 你可以添加元素
它工作正常:)
package Whosebugtest;
import java.util.ArrayList;
import java.util.List;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
List<String> sets= new ArrayList<>();
sets.add("10");
sets.add("9");
sets.add("8");
sets.add("7");
sets.add("6");
sets.add("4");
sets.add("3");
sets.add("3");
sets.add("3");
sets.add("2");
sets.add("2");
sets.add("2");
sets.add("1");
sets.add("0");
TreeSet<String> set = new TreeSet<>();
set.addAll(sets);
System.out.println(set);
System.out.println(set.descendingSet());
System.out.println(set.first());
System.out.println(set.last());
}
}
你的输出
[0, 1, 10, 2, 3, 4, 6, 7, 8, 9]
[9, 8, 7, 6, 4, 3, 2, 10, 1, 0]
0
9