2019独角兽企业重金招聘Python工程师标准
jdkapi的方法,表示返回值为布尔型,
布尔型(collection )? c );
//api中提供的注释
//retainsonlytheelementsinthislistthatarecontainedinthespecifiedcollection
//只保留此集合中存在的元素。
//a.retainall(b ),a调用该方法后,集合a中只剩下存在于b中的要素,如果返回值为false,则意味着集合a不会被变更,而是返回
这次true集合a被更改了
//jdk中实现的源代码
布尔远程全部(collection )? c )
publicbooleanretainall (collection? c )//返回值有无改变
returnbatchremove(c,true; } privatebooleanbatchremove (collection? c,boolean complement ) {
final object [ ] element data=this.element data; int r=0,w=0; 布尔修改=假; try { for; r size; r ) if (c.contains (element data [ r ]==complement ) elementData[w ]=elementData[r] ); } finally//preservebehavioralcompatibilitywithabstractcollection,//evenifc.contains(throws.if(r )!=size (system.arraycopy (elementdata,r,element data,w,size - r ); w =size - r; (if ) w=size(for ) intI=w; i size; I ) elementData[i]=null; modCount =size - w; size=w; 修改=真; } } return modified; } example:
公共类collection _ test {
publicstaticvoidmain (string args [ ] ) {
Collection c=new ArrayList (;
Collection c1=new ArrayList (; c.add(a1 ); c.add(a2 );
C1.add(A3 ); C1.add(A1 ); C1.add(A2 );
system.out.println(c.retainall ) C1 ); system.out.println(c.tostring ); system.out.println(C1.tostring () );
}
结果: false [a1,a2] [a3,a1,a2]
转载于:https://my.oschina.net/u/2511906/blog/3002440