📄 copying.java
字号:
package com.reddragon2046.base.utilities.data.algorithms;
import com.reddragon2046.base.utilities.data.*;
import com.reddragon2046.base.utilities.data.util.InsertIterator;
import com.reddragon2046.base.utilities.data.util.IteratorFactory;
import java.util.Collection;
import java.util.Iterator;
public final class Copying
{
private Copying()
{
}
protected static OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result)
{
if(!first.isCompatibleWith(last))
throw new IllegalArgumentException("iterators not compatible");
InputIterator firstx = (InputIterator)first.clone();
OutputIterator resultx = (OutputIterator)result.clone();
for(; !firstx.equals(last); resultx.advance())
resultx.put(firstx.next());
return resultx;
}
public static OutputIterator copy(Collection input, OutputIterator result)
{
return copy(IteratorFactory.start(input), IteratorFactory.finish(input), result);
}
public static void copy(Collection source, Collection destination)
{
copy(IteratorFactory.start(source), IteratorFactory.finish(source), ((OutputIterator) (new InsertIterator(destination))));
}
public static OutputIterator copyBackward(BidirectionalIterator first, BidirectionalIterator last, BidirectionalIterator result)
{
if(!first.isCompatibleWith(last))
throw new IllegalArgumentException("iterators not compatible");
BidirectionalIterator lastx = (BidirectionalIterator)last.clone();
BidirectionalIterator resultx = (BidirectionalIterator)result.clone();
for(; !lastx.equals(first); resultx.put(lastx.get()))
{
resultx.retreat();
lastx.retreat();
}
return resultx;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -