本文整理汇总了Java中java.util.LinkedList.descendingIterator方法的典型用法代码示例。如果您正苦于以下问题:Java LinkedList.descendingIterator方法的具体用法?Java LinkedList.descendingIterator怎么用?Java LinkedList.descendingIterator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.util.LinkedList
的用法示例。
在下文中一共展示了LinkedList.descendingIterator方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testDescendingIterator
import java.util.LinkedList; //导入方法依赖的package包/类
/**
* Descending iterator iterates through all elements
*/
public void testDescendingIterator() {
LinkedList q = populatedQueue(SIZE);
int i = 0;
Iterator it = q.descendingIterator();
while (it.hasNext()) {
assertTrue(q.contains(it.next()));
++i;
}
assertEquals(i, SIZE);
assertFalse(it.hasNext());
try {
it.next();
shouldThrow();
} catch (NoSuchElementException success) {}
}
示例2: preAutoWire
import java.util.LinkedList; //导入方法依赖的package包/类
@Override
public LinkedList<OutputPort> preAutoWire(LinkedList<OutputPort> ports) throws UndefinedParameterError {
Class<? extends IOObject> clazz = getSelectedClass();
if (clazz != null) {
OutputPort found = null;
Iterator<OutputPort> i = ports.descendingIterator();
int which = isParameterSet(PARAMETER_STORE_WHICH) ? getParameterAsInt(PARAMETER_STORE_WHICH) : 0;
int hits = 0;
while (i.hasNext()) {
OutputPort port = i.next();
if (port.getMetaData() != null && clazz.isAssignableFrom(port.getMetaData().getObjectClass())) {
hits++;
if (hits == which) {
found = port;
i.remove();
break;
}
}
}
if (found != null) {
ports.addLast(found);
}
}
return ports;
}
示例3: preAutoWire
import java.util.LinkedList; //导入方法依赖的package包/类
@Override
protected LinkedList<OutputPort> preAutoWire(LinkedList<OutputPort> readyOutputs) throws OperatorException {
getLogger().info("Simulating IOSelectOperator with old stack: " + readyOutputs);
Class<? extends IOObject> clazz = getSelectedClass();
int number = getParameterAsInt(PARAMETER_SELECT_WHICH);
int hits = 0;
OutputPort myPort = null;
Iterator<OutputPort> i = readyOutputs.descendingIterator();
int count = 0;
while (i.hasNext()) {
OutputPort port = i.next();
if (!port.shouldAutoConnect()) {
continue;
}
if ((port.getMetaData() != null) && clazz.isAssignableFrom(port.getMetaData().getObjectClass())) {
hits++;
if (hits == number) {
myPort = port;
i.remove();
} else if (getParameterAsBoolean(PARAMETER_DELETE_OTHERS)) {
count++;
i.remove();
}
}
}
if (myPort != null) {
readyOutputs.addLast(myPort);
getLogger().info("Bringing output port to front: " + myPort.getSpec());
}
if (count > 0) {
getLogger().info("Deleted " + myPort.getSpec() + " output ports.");
}
getLogger().info("New stack is: " + readyOutputs);
return readyOutputs;
}
示例4: getSourceTag
import java.util.LinkedList; //导入方法依赖的package包/类
/**
* Return the LAST source tag (closest to AIS sentence)
*
* @return
*/
public IProprietarySourceTag getSourceTag() {
LinkedList<IProprietaryTag> tags = vdm.getTags();
if (tags == null) {
return null;
}
// Iterate backwards
for (Iterator<IProprietaryTag> iterator = tags.descendingIterator(); iterator.hasNext();) {
IProprietaryTag tag = iterator.next();
if (tag instanceof IProprietarySourceTag) {
return (IProprietarySourceTag) tag;
}
}
return null;
}
示例5: testDescendingIteratorOrdering
import java.util.LinkedList; //导入方法依赖的package包/类
/**
* Descending iterator ordering is reverse FIFO
*/
public void testDescendingIteratorOrdering() {
final LinkedList q = new LinkedList();
q.add(new Integer(3));
q.add(new Integer(2));
q.add(new Integer(1));
int k = 0;
for (Iterator it = q.descendingIterator(); it.hasNext();) {
assertEquals(++k, it.next());
}
assertEquals(3, k);
}
示例6: testDescendingIteratorRemove
import java.util.LinkedList; //导入方法依赖的package包/类
/**
* descendingIterator.remove removes current element
*/
public void testDescendingIteratorRemove() {
final LinkedList q = new LinkedList();
q.add(three);
q.add(two);
q.add(one);
Iterator it = q.descendingIterator();
it.next();
it.remove();
it = q.descendingIterator();
assertSame(it.next(), two);
assertSame(it.next(), three);
assertFalse(it.hasNext());
}
示例7: autoWire
import java.util.LinkedList; //导入方法依赖的package包/类
@SuppressWarnings("deprecation")
private void autoWire(CompatibilityLevel level, InputPorts inputPorts, LinkedList<OutputPort> readyOutputs)
throws PortException {
boolean success = false;
do {
Set<InputPort> complete = new HashSet<InputPort>();
for (InputPort in : inputPorts.getAllPorts()) {
success = false;
if (!in.isConnected() && !complete.contains(in)
&& in.getPorts().getOwner().getOperator().shouldAutoConnect(in)) {
Iterator<OutputPort> outIterator;
// TODO: Simon: Does the same in both cases. Check again.
if (in.simulatesStack()) {
outIterator = readyOutputs.descendingIterator();
} else {
outIterator = readyOutputs.descendingIterator();
}
while (outIterator.hasNext()) {
OutputPort outCandidate = outIterator.next();
// TODO: Remove shouldAutoConnect() in later versions
Operator owner = outCandidate.getPorts().getOwner().getOperator();
if (owner.shouldAutoConnect(outCandidate)) {
if (outCandidate.getMetaData() != null) {
if (in.isInputCompatible(outCandidate.getMetaData(), level)) {
readyOutputs.remove(outCandidate);
outCandidate.connectTo(in);
// we cannot continue with the remaining input ports
// since connecting may have triggered the creation of new input
// ports
// which would result in undefined behavior and a
// ConcurrentModificationException
success = true;
break;
}
}
}
}
// no port found.
complete.add(in);
if (success) {
break;
}
}
}
} while (success);
}