看一下java的源码(java8):
publicCollectionvalues(){Collectionvs=values;if(vs==null){vs=newValues();values=vs;}returnvs;}可以看出values方法返回的是Values类的对象,再看一下Values类,它是Treemap的一个内部类:
classValuesextendsAbstractCollection{publicIteratoriterator(){returnnewValueIterator(getFirstEntry());}publicintsize(){returnTreeMap.this.size();}publicbooleancontains(Objecto){returnTreeMap.this.containsValue(o);}publicbooleanremove(Objecto){for(Entrye=getFirstEntry();e!=null;e=successor(e)){if(valEquals(e.getValue(),o)){deleteEntry(e);returntrue;}}returnfalse;}publicvoidclear(){TreeMap.this.clear();}publicSpliteratorspliterator(){returnnewValueSpliterator(TreeMap.this,null,null,0,-1,0);}}Values继承了AbstractCollection,把它看做一个类似ArrayList的集合类就好了 |