public class B {
public static void main(String[] aa) {
Set<Integer> set = new TreeSet<Integer>();
List<Integer> list = new ArrayList<Integer>();
for (int i = -3; i < 3; i++) {
set.add(i);
list.add(i);
}
for (int i = 0; i < 3; i++) {
set.remove(i);
list.remove(i);
}
System.out.println(set + " " + list);
}
}
public static void main(String[] aa) {
Set<Integer> set = new TreeSet<Integer>();
List<Integer> list = new ArrayList<Integer>();
for (int i = -3; i < 3; i++) {
set.add(i);
list.add(i);
}
for (int i = 0; i < 3; i++) {
set.remove(i);
list.remove(i);
}
System.out.println(set + " " + list);
}
}
list移除要考虑下标的变化。
删除了一个元素以后,List后面的元素往前移了!!!
list就是根据下标进行remove,没什么特殊的。
list是有序的。第一个放入的记顺序0,第二个放入的记序为1依次类推。放完后的顺序是:-3 -2 -1 0 1 2
第一次移remove(0),移除的是-3,余下:-2 -1 0 1 2 ,下标依次降1。第二次移除remove(1),移除-1,余下:-2 0 1 2第三次次移除1,因此余下的元素是:-2 0 2
所以两个的打印结果是:[-3,-2,-1] [-2,0,2]
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;public class Main { public static void main(String[] aa) {
Set<Integer> set = new TreeSet<Integer>();
List<Integer> list = new ArrayList<Integer>();
for (int i = 128; i < 135; i++) {
set.add(i);
}
for (int i = 128; i < 130; i++) {
set.remove(i);
}
System.out.println(set);
}
}
好,顺带学习下Set。
我的Java用哪学哪,呵呵~~总结下考点:
Set放的是Object(Integer)对象,remove的是对象。
List其实就是Object Array结构,不过有点像栈的特点,remove的是index内的对象。Java和C/C++通用哦,原来差不多,不过就是新发明一些新的武器/工具/方法而已。
treeSet.add(5);
treeSet.add(4);
treeSet.add(7);
treeSet.add(2);
System.out.println(treeSet);
System.out.println(treeSet.remove(1));
treeSet.remove(4);
System.out.println(treeSet);
[2, 4, 5, 7]
false
[2, 5, 7]