1.peek和poll的不同用法
这两个都是将集合元素取出,但不同的是:
poll( )在取得元素内容的同时移除该元素,若Queue是空则会传null
peek( )取得元素内同但不移除该元素,若Queue是空则会传null
2.关于remove的实际test
List<String> st=new ArrayList<String>();
st.add("a1");
st.add("a2");
st.add("a3");
st.add("a4");
for(String s1:st)
{
System.out.println(s1);
}
System.out.println(st.size());
st.remove(0);
for(String s1:st)
{
System.out.println(s1);
}
System.out.println(st.size());
st.remove(0);
for(String s1:st)
{
System.out.println(s1);
}
System.out.println(st.size());
结果:
a1
a2
a3
a4
4
a2
a3
a4
3
a3
a4
2
remove移除元素后,后面的元素会向前移动,相应的size也会减小。多个Vector或者List嵌套,也是一样。
Vector<Vector<Integer>> items = new Vector<Vector<Integer>>();
Vector<Integer> it1 = new Vector<Integer>();
it1.add(1);
it1.add(2);
it1.add(5);
Vector<Integer> it2 = new Vector<Integer>();
it2.add(2);
it2.add(4);
Vector<Integer> it3 = new Vector<Integer>();
it3.add(2);
it3.add(3);
Vector<Integer> it4 = new Vector<Integer>();
it4.add(1);
it4.add(2);
it4.add(4);
Vector<Integer> it5 = new Vector<Integer>();
it5.add(1);
it5.add(3);
Vector<Integer> it6 = new Vector<Integer>();
it6.add(2);
it6.add(3);
Vector<Integer> it7 = new Vector<Integer>();
it7.add(1);
it7.add(3);
Vector<Integer> it8 = new Vector<Integer>();
it8.add(1);
it8.add(2);
it8.add(3);
it8.add(5);
Vector<Integer> it9 = new Vector<Integer>();
it9.add(1);
it9.add(2);
it9.add(3);
items.add(it1);
items.add(it2);
items.add(it3);
items.add(it4);
items.add(it5);
items.add(it6);
items.add(it7);
items.add(it8);
items.add(it9);
for(int i=0;i<items.size();i++)
{
for(int j=0;j<items.get(i).size();j++)
{
System.out.print(items.get(i).get(j)+" ");
}
System.out.print("\n");
}
System.out.print("end\n");
items.remove(7);
for(int i=0;i<items.size();i++)
{
for(int j=0;j<items.get(i).size();j++)
{
System.out.print(items.get(i).get(j)+" ");
}
System.out.print("\n");
}
System.out.print("end\n");
结果:
1 2 5
2 4
2 3
1 2 4
1 3
2 3
1 3
1 2 3 5
1 2 3
end
1 2 5
2 4
2 3
1 2 4
1 3
2 3
1 3
1 2 3
end