📄 applying.java
字号:
package com.reddragon2046.base.utilities.data.algorithms;
import com.reddragon2046.base.utilities.data.*;
import com.reddragon2046.base.utilities.data.util.IteratorFactory;
import java.util.Collection;
import java.util.Iterator;
public final class Applying
{
private Applying()
{
}
private static UnaryFunction forEach(InputIterator first, InputIterator last, UnaryFunction function)
{
if(!first.isCompatibleWith(last))
throw new IllegalArgumentException("iterators not compatible");
for(InputIterator firstx = (InputIterator)first.clone(); !firstx.equals(last); firstx.advance())
function.execute(firstx.get());
return function;
}
public static UnaryFunction forEach(Collection collection, UnaryFunction function)
{
return forEach(IteratorFactory.start(collection), IteratorFactory.finish(collection), function);
}
private static Object inject(InputIterator first, InputIterator last, Object object, BinaryFunction function)
{
if(!first.isCompatibleWith(last))
throw new IllegalArgumentException("iterators not compatible");
for(InputIterator firstx = (InputIterator)first.clone(); !firstx.equals(last);)
object = function.execute(object, firstx.next());
return object;
}
public static Object inject(Collection collection, Object object, BinaryFunction function)
{
return inject(IteratorFactory.start(collection), IteratorFactory.finish(collection), object, function);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -