Java教程CommonsCollections学习笔记一Word格式文档下载.docx

上传人:b****5 文档编号:16958949 上传时间:2022-11-27 格式:DOCX 页数:12 大小:16.93KB
下载 相关 举报
Java教程CommonsCollections学习笔记一Word格式文档下载.docx_第1页
第1页 / 共12页
Java教程CommonsCollections学习笔记一Word格式文档下载.docx_第2页
第2页 / 共12页
Java教程CommonsCollections学习笔记一Word格式文档下载.docx_第3页
第3页 / 共12页
Java教程CommonsCollections学习笔记一Word格式文档下载.docx_第4页
第4页 / 共12页
Java教程CommonsCollections学习笔记一Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Java教程CommonsCollections学习笔记一Word格式文档下载.docx

《Java教程CommonsCollections学习笔记一Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java教程CommonsCollections学习笔记一Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

Java教程CommonsCollections学习笔记一Word格式文档下载.docx

//元素总个数

  privateint_mods=0;

//修改次数

  publicDefaultMapBag(){

  protectedDefaultMapBag(Mapmap){

  setMap(map);

  publicbooleanadd(Objectobject){

  returnadd(object,1);

  publicbooleanadd(Objectobject,intnCopies){

  _mods++;

  if(nCopies>

0){

  intcount=(nCopies+getCount(object));

  _map.put(object,newInteger(count));

  _total+=nCopies;

  return(count==nCopies);

  }else{

  returnfalse;

  publicbooleanaddAll(Collectioncoll){

  booleanchanged=false;

  Iteratori=coll.iterator();

  while(i.hasNext()){

  booleanadded=add(i.next());

  changed=changed||added;

  returnchanged;

  publicvoidclear(){

  _map.clear();

  _total=0;

  publicbooleancontains(Objectobject){

  return_map.containsKey(object);

  publicbooleancontainsAll(Collectioncoll){

  returncontainsAll(newHashBag(coll));

  publicbooleancontainsAll(Bagother){

  booleanresult=true;

  Iteratori=other.uniqueSet().iterator();

  Objectcurrent=i.next();

  booleancontains=getCount(current)>

=other.getCount(current);

  result=result&

&

contains;

  returnresult;

  publicbooleanequals(Objectobject){

  if(object==this){

  returntrue;

  if(objectinstanceofBag==false){

  Bagother=(Bag)object;

  if(other.size()!

=size()){

  for(Iteratorit=_map.keySet().iterator();

it.hasNext();

){

  Objectelement=it.next();

  if(other.getCount(element)!

=getCount(element)){

  publicinthashCode(){

  return_map.hashCode();

  publicbooleanisEmpty(){

  return_map.isEmpty();

  }publicIteratoriterator(){

  returnnewBagIterator(this,extractList().iterator());

  staticclassBagIteratorimplementsIterator{

  privateDefaultMapBag_parent=null;

  privateIterator_support=null;

//原始迭代器

  privateObject_current=null;

//当前元素

  publicBagIterator(DefaultMapBagparent,Iteratorsupport){

  _parent=parent;

  _support=support;

  _current=null;

  _mods=parent.modCount();

  publicbooleanhasNext(){

  return_support.hasNext();

  publicObjectnext(){

  if(_parent.modCount()!

=_mods){

  thrownewConcurrentModificationException();

  _current=_support.next();

  return_current;

  publicvoidremove(){

  _support.remove();

  _parent.remove(_current,1);

  publicbooleanremove(Objectobject){

  returnremove(object,getCount(object));

  publicbooleanremove(Objectobject,intnCopies){

  booleanresult=false;

  intcount=getCount(object);

  if(nCopies<

=0){

  result=false;

  }elseif(count>

nCopies){

  _map.put(object,newInteger(count-nCopies));

  result=true;

  _total-=nCopies;

  }else{//count>

0&

count<

=i  //needtoremoveall

  result=(_map.remove(object)!

=null);

  _total-=count;

  publicbooleanremoveAll(Collectioncoll){

  if(coll!

=null){

  booleanchanged=remove(i.next(),1);

  result=result||changed;

  publicbooleanretainAll(Collectioncoll){

  returnretainAll(newHashBag(coll));

  publicbooleanretainAll(Bagother){

  Bagexcess=newHashBag();

  Iteratori=uniqueSet().iterator();

  intmyCount=getCount(current);

  intotherCount=other.getCount(current);

  if(1<

=otherCount&

otherCount<

=myCount){

  excess.add(current,myCount-otherCount);

  excess.add(current,myCount);

  if(!

excess.isEmpty()){

  result=removeAll(excess);

  publicObject[]toArray(){

  returnextractList().toArray();

  publicObject[]toArray(Object[]array){

  returnextractList().toArray(array);

  publicintgetCount(Objectobject){

  intresult=0;

  Integercount=MapUtils.getInteger(_map,object);

  if(count!

  result=count.intValue();

  publicSetuniqueSet(){

  returnUnmodifiableSet.decorate(_map.keySet());

  publicintsize(){

  return_total;

  protectedintcalcTotalSize(){

  _total=extractList().size();

  protectedvoidsetMap(Mapmap){

  if(map==null||map.isEmpty()==false){

  thrownewIllegalArgumentException("

Themapmustbenon-nullandempty"

);

  _map=map;

  protectedMapgetMap(){

  return_map;

  privateListextractList(){

  Listresult=newArrayList();

  for(intindex=getCount(current);

index>

0;

index--){

  result.add(current);

  }privateintmodCount(){

  return_mods;

  publicStringtoString(){

  StringBufferbuf=newStringBuffer();

  buf.append("

["

  intcount=getCount(current);

  buf.append(count);

:

"

  buf.append(current);

  if(i.hasNext()){

"

]"

  returnbuf.toString();

  publicclassHashBagextendsDefaultMapBagimplementsBag

  publicHashBag(){

  super(newHashMap());

  publicHashBag(Collectioncoll){

  this();

  addAll(coll);

  publicclassTreeBagextendsDefaultMapBagimplementsSortedBag

  publicTreeBag(){

  super(newTreeMap());

  publicTreeBag(Comparatorcomparator){

  super(newTreeMap(comparator));

  publicTreeBag(Collectioncoll){

  publicObjectfirst(){

  return((SortedMap)getMap()).firstKey();

  publicObjectlast(){

  return((SortedMap)getMap()).lastKey();

  publicComparatorcomparator(){

  return((SortedMap)getMap()).comparator();

  使用decorate模式的Bag工具类

  publicclassBagUtils

  /**

  *Anemptyunmodifiablebag.

  */

  publicstaticfinalBagEMPTY_BAG=UnmodifiableBag.decorate(newHashBag());

  *Anemptyunmodifiablesortedbag.

  publicstaticfinalBagEMPTY_SORTED_BAG=UnmodifiableSortedBag.decorate(newTreeBag());

  publicBagUtils(){//这里按常理不应该是public,应该是private才对,作者应该有其他地方要用到吧

  publicstaticBagsynchronizedBag(Bagbag){

  returnSynchronizedBag.decorate(bag);

  publicstaticBagunmodifiableBag(Bagbag){

  returnUnmodifiableBag.decorate(bag);

  publicstaticBagpredicatedBag(Bagbag,Predicatepredicate){

  returnPredicatedBag.decorate(bag,predicate);

  publicstaticBagtypedBag(Bagbag,Classtype){

  returnTypedBag.decorate(bag,type);

  publicstaticBagtransformedBag(Bagbag,Transformertransformer){

  returnTransformedBag.decorate(bag,transformer);

  publicstaticSortedBagsynchronizedSortedBag(SortedBagbag){

  returnSynchronizedSortedBag.decorate(bag);

  publicstaticSortedBagunmodifiableSortedBag(SortedBagbag){

  returnUnmodifiableSortedBag.decorate(bag);

  publicstaticSortedBagpredicatedSortedBag(SortedBagbag,Predicatepredicate){

  returnPredicatedSortedBag.decorate(bag,predicate);

  publicstaticSortedBagtypedSortedBag(SortedBagbag,Classtype){

  returnTypedSortedBag.decorate(bag,type);

  publicstaticSortedBagtransformedSortedBag(SortedBagbag,Transformertransformer){

  returnTransformedSortedBag.decorate(bag,transformer);

Word是学生和职场人士最常用的一款办公软件之一,99.99%的人知道它,但其实,这个软件背后,还有一大批隐藏技能你不知道。

掌握他们,你将开启新世界的大门。

Tab+Enter,在编过号以后,会自动编号段落

Ctrl+D调出字体栏,配合Tab+Enter全键盘操作吧

Ctrl+L左对齐,Ctrl+R右对齐,Ctrl+E居中

Ctrl+F查找,Ctrl+H替换。

然后关于替换,里面又大有学问!

有时候Word文档中有许多多余的空行需要删除,这个时候我们可以完全可以用“查找替换”来轻松解决。

打开“编辑”菜单中的“替换”对话框,把光标定位在“查找内容”输入框中,单击“高级”按钮,选择“特殊字符”中的“段落标记”两次,在输入框中会显示“^P^P”,然后在“替换为”输入框中用上面的方法插入一个“段落标记”(一个“^P”),再按下“全部替换”按钮。

这样多余的空行就会被删除。

Ctrl+Z是撤销,那还原呢?

就是Ctrl+Y,撤销上一步撤销!

比如我输入abc,按一下F4,就会自动再输入一遍abc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1