⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dualcollection.java

📁 ZK 基础介绍 功能操作 模块 结合数据库操作
💻 JAVA
字号:
/* DualCollection.java{{IS_NOTE	Purpose:			Description:			History:		Sun Sep  2 21:29:38     2007, Created by tomyeh}}IS_NOTECopyright (C) 2007 Potix Corporation. All Rights Reserved.{{IS_RIGHT	This program is distributed under GPL Version 2.0 in the hope that	it will be useful, but WITHOUT ANY WARRANTY.}}IS_RIGHT*/package org.zkoss.util;import java.util.Collection;import java.util.Collections;import java.util.Iterator;import java.util.AbstractCollection;/** * A combination of two collections into a collection. * * @author tomyeh * @since 3.0.0 */public class DualCollection extends AbstractCollectionimplements java.io.Serializable {	private final Collection _first, _second;	/** Returns a collection by combining two collections.	 * It checks whether any of them is null, or equals. And, returns	 * the non-null one if another is null.	 * If both null, it returns null.	 */	public static final	Collection combine(Collection first, Collection second) {		if (first == second) //we don't use equals to have better performance			return first;		if (first != null)			if (second != null)				return new DualCollection(first, second);			else				return first;		else			return second;	}	/** Constructor.	 * It is better to use {@link #combine} instead of this method	 * since it checks whether any of them is null or equals.	 */	public DualCollection(Collection first, Collection second) {		_first = first != null ? first: Collections.EMPTY_LIST;		_second = second != null ? second: Collections.EMPTY_LIST;	}	//Collection//	public int size() {		return _first.size() + _second.size();	}	public Iterator iterator() {		return new Iter();	}	private class Iter implements Iterator {		private Iterator _it;		private boolean _bSecond;		private Iter() {			_it = _first.iterator();		}		public boolean hasNext() {			return _it.hasNext() || (!_bSecond && !_second.isEmpty());		}		public Object next() {			if (!_bSecond && !_it.hasNext()) {				_it = _second.iterator();				_bSecond = true;			}			return _it.next();		}		public void remove() {			_it.remove();		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -