你知道吗:Mapm1=newHashMap();Mapm2=newHashMap();System.out.println("m1.equals(m2)="+m1.equals(m2));System.out.println("m1.keySet().equals(m2.keySet())="+m1.keySet().equals(m2.keySet()));System.out.println("m1.entrySet().equals(m2.entrySet())="+m1.entrySet().equals(m2.entrySet()));System.out.println("
我已经开始使用C++编写代码,来自Java背景(实际上我在我的大学学习了C++,但我们从未接触过STL等)无论如何,我已经到了在各种集合中排列数据的地步,我立即告诉自己“好吧,这是一种集合;这是一个列表,或者一个ArrayList;这是一张map等等。”在Java中,我会简单地让我正在编写的任何类实现Set或Map或List接口(interface);但我可能不会去继承ArrayList或HashSet或其他什么,那里的实现有点涉及,我不想把它们搞砸。现在,我要用C++(使用标准库)做什么?似乎没有Sets、Maps、Lists等的抽象基类——相当于Java接口(interface);
publicObject[]toArray(){//Estimatesizeofarray;bepreparedtoseemoreorfewerelementsObject[]r=newObject[size()];Iteratorit=iterator();for(inti=0;i这里是AbstractCollection.toArray方法的实现代码。if(!it.hasNext())//fewerelementsthanexpectedreturnArrays.copyOf(r,i);我不明白上面代码的用法。我怀疑代码用于避免在调用方法时更改大小。所以我有两个问题:我怀疑的是对还