📄 algos.java
字号:
package com.reddragon2046.base.utilities.data;
import java.util.Collection;
import java.util.Iterator;
// Referenced classes of package com.reddragon2046.base.utilities.data:
// ForwardIterator, InputIterator, BidirectionalIterator
final class Algos
{
private Algos()
{
}
public static String toString(Collection c, String name)
{
StringBuffer buffer = new StringBuffer();
Iterator iter = c.iterator();
if(iter.hasNext())
{
buffer.append("[");
buffer.append(iter.next());
for(; iter.hasNext(); buffer.append(iter.next()))
buffer.append(", ");
buffer.append("]");
} else
{
buffer.append("[]");
}
return buffer.toString();
}
public static boolean equal(Collection c1, Collection c2)
{
if(c1.size() != c2.size())
return false;
Iterator iter1 = c1.iterator();
Iterator iter2;
for(iter2 = c2.iterator(); iter1.hasNext() && iter2.hasNext();)
{
Object obj1 = iter1.next();
Object obj2 = iter2.next();
if(obj1 != null ? !obj1.equals(obj2) : obj2 != null)
return false;
}
return iter1.hasNext() == iter2.hasNext();
}
public static int replace(ForwardIterator first, ForwardIterator last, Object oldValue, Object newValue)
{
ForwardIterator firstx = (ForwardIterator)first.clone();
int n = 0;
for(; !firstx.equals(last); firstx.advance())
if(firstx.get() != null ? firstx.get().equals(oldValue) : oldValue == null)
{
firstx.put(newValue);
n++;
}
return n;
}
public static int count(InputIterator first, InputIterator last, Object object)
{
InputIterator firstx = (InputIterator)first.clone();
int n = 0;
while(!firstx.equals(last))
{
Object current = firstx.next();
if(current != null ? current.equals(object) : object == null)
n++;
}
return n;
}
public static InputIterator find(InputIterator first, InputIterator last, Object object)
{
InputIterator firstx;
for(firstx = (InputIterator)first.clone(); !firstx.equals(last) && (firstx.get() != null ? !firstx.get().equals(object) : object != null); firstx.advance());
return firstx;
}
public static BidirectionalIterator lastFind(BidirectionalIterator first, BidirectionalIterator last, Object object)
{
if(first.equals(last))
return last;
BidirectionalIterator lastx = (BidirectionalIterator)last.clone();
lastx.retreat();
while(lastx.get() != null ? !lastx.get().equals(object) : object != null)
{
if(first.equals(lastx))
return last;
lastx.retreat();
}
return lastx;
}
public static ForwardIterator remove(ForwardIterator first, ForwardIterator last, Object object)
{
first = (ForwardIterator)find(first, last, object);
if(first.equals(last))
return first;
ForwardIterator i = (ForwardIterator)first.clone();
i.advance();
for(; !i.equals(last); i.advance())
if(i.get() != null ? !i.get().equals(object) : object != null)
{
first.put(i.get());
first.advance();
}
return first;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -