java.util.Stack#remove ( )源码实例Demo

下面列出了java.util.Stack#remove ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: vespa   文件: MathResolver.java
/**
 * Converts the internal list of operator-expression pairs into a corresponding combined grouping expression. When
 * this method returns there is no residue of the conversion, and this object can be reused.
 *
 * @return The grouping expression corresponding to the pushed arithmetic operations.
 */
public GroupingExpression resolve() {
    if (items.size() == 1) {
        return items.remove(0).exp; // optimize common case
    }
    Stack<Item> stack = new Stack<>();
    stack.push(items.remove(0));
    while (!items.isEmpty()) {
        Item item = items.remove(0);
        while (stack.size() > 1 && stack.peek().type.pre >= item.type.pre) {
            pop(stack);
        }
        stack.push(item);
    }
    while (stack.size() > 1) {
        pop(stack);
    }
    return stack.remove(0).exp;
}
 
源代码2 项目: uSkyBlock   文件: WolfWorkUSBImporter.java
private int importOrphanedIslands(uSkyBlock plugin, File orphanFile) {
    try (ObjectInputStream in = new WolfWorkObjectInputStream(new FileInputStream(orphanFile))) {
        Object stackObj = in.readObject();
        if (stackObj instanceof Stack) {
            int countOrphan = 0;
            Stack<SerializableLocation> stack = (Stack) stackObj;
            while (!stack.isEmpty()) {
                SerializableLocation remove = stack.remove(0);
                plugin.getOrphanLogic().addOrphan(remove.getLocation());
                countOrphan++;
            }
            if (!orphanFile.delete()) {
                orphanFile.deleteOnExit();
            }
            return countOrphan;
        }
    } catch (IOException | ClassNotFoundException e) {
        log(Level.WARNING, "Unable to read the orphanedIslands.bin file", e);
    }
    return 0;
}
 
源代码3 项目: netbeans   文件: MarkupAbstractIndenter.java
private void discardProcessedMarkupItems(Stack<MarkupItem> stack, int startIndex, int endIndex) {
    for (int index = endIndex; index >= startIndex; index--) {
        MarkupItem item = stack.get(index);
        // #198659 - when a document is not valid (eg. accicentally a tag was not closed)
        // then below assert can be triggered; disabling it for now
        //assert item.processed || item.virtual : "assumption here is that a tag within process tag must be either processed or perhaps virtual: item="+item+" stack="+(getStack().size() < 30 ? getStack() : "[too many items]");
        stack.remove(index);
    }
}
 
private void writeResource(JsonGenerator gen, ResourceIdentifier resourceId,
		Map<ResourceIdentifier, Resource> resourceMap, Stack<ResourceIdentifier> inclusionStack,
		SerializerProvider serializerProvider) throws IOException {

	if (resourceId.getId() != null) {
		// new resources do not have an ID
		inclusionStack.add(resourceId.toIdentifier());
	}

	gen.writeStartObject();
	if (resourceId.getId() != null) {
		gen.writeStringField("id", resourceId.getId());
	}
	gen.writeStringField("type", resourceId.getType());

	if (resourceId instanceof Resource) {
		Resource resource = (Resource) resourceId;
		writeLinks(gen, resource.getLinks(), serializerProvider);
		writeMeta(gen, resource.getMeta(), serializerProvider);
		writeAttributes(gen, resource.getAttributes(), serializerProvider);
		writeRelationships(gen, resource.getRelationships(), resourceMap, inclusionStack, serializerProvider);
	}
	gen.writeEndObject();
	if (resourceId != null) {
		inclusionStack.remove(resourceId);
	}
}
 
源代码5 项目: codekata   文件: Solution.java
public List<Point> outerTrees(Point[] points) {
    Arrays.sort(points, new Comparator<Point>() {
        @Override
        public int compare(Point p1, Point p2) {
            return p1.x == p2.x ? p1.y - p2.y : p1.x - p2.x;
        }
    });

    Stack<Point> result = new Stack<>();

    for (Point point : points) {
        while (result.size() > 1 && isValid(result.get(result.size() - 2), result.peek(), point)) {
            result.pop();
        }
        result.add(point);
    }
    if (result.size() == points.length) return result;

    for (int i = points.length - 2; i > 0; i--) {
        while (result.size() > 1 && isValid(result.get(result.size() - 2), result.peek(), points[i])) {
            result.pop();
        }
        result.add(points[i]);
    }

    while (isValid(result.get(result.size() - 2), result.peek(), result.get(0))) {
        result.remove(result.size() - 1);
    }
    return result;
}
 
源代码6 项目: vespa   文件: MathResolver.java
public Expression resolve() {
    Stack<Item> stack = new Stack<>();
    stack.push(items.remove(0));
    while (!items.isEmpty()) {
        Item item = items.remove(0);
        while (stack.size() > 1 && stack.peek().op.precedes(item.op)) {
            pop(stack);
        }
        stack.push(item);
    }
    while (stack.size() > 1) {
        pop(stack);
    }
    return stack.remove(0).exp;
}
 
源代码7 项目: SimplifyReader   文件: PLAAbsListView.java
/**
 * @return A view from the ScrapViews collection. These are unordered.
 */
View getScrapView(int position) {

    if(getHeaderViewsCount() > position){
        //non scraped view.
        return null;
    }

    final Stack<View> scrapViews;
    if (mViewTypeCount == 1) {
        scrapViews = mCurrentScrap;
    } else {
        final int whichScrap = mAdapter.getItemViewType(position);
        if (whichScrap >= 0 && whichScrap < mScrapViews.length) {
            scrapViews = mScrapViews[whichScrap];
        } else {
            return null;
        }
    }

    // look for the exact same layout
    int size = scrapViews.size();
    for(int i = size - 1; i >= 0; --i) {
        final LayoutParams lp = (LayoutParams) scrapViews.get(i).getLayoutParams();
        if(lp.scrappedFromPosition == position) {
            return scrapViews.remove(i);
        }
    }

    if (size > 0) {
        // reused the oldest one.
        return scrapViews.remove(0);
    } else {
        return null;
    }
}
 
源代码8 项目: Lay-s   文件: PLAAbsListView.java
/**
 * @return A view from the ScrapViews collection. These are unordered.
 */
View getScrapView(int position) {

    if(getHeaderViewsCount() > position){
        //non scraped view.
        return null;
    }

    final Stack<View> scrapViews;
    if (mViewTypeCount == 1) {
        scrapViews = mCurrentScrap;
    } else {
        final int whichScrap = mAdapter.getItemViewType(position);
        if (whichScrap >= 0 && whichScrap < mScrapViews.length) {
            scrapViews = mScrapViews[whichScrap];
        } else {
            return null;
        }
    }

    // look for the exact same layout
    int size = scrapViews.size();
    for(int i = size - 1; i >= 0; --i) {
        final LayoutParams lp = (LayoutParams) scrapViews.get(i).getLayoutParams();
        if(lp.scrappedFromPosition == position) {
            return scrapViews.remove(i);
        }
    }

    if (size > 0) {
        // reused the oldest one.
        return scrapViews.remove(0);
    } else {
        return null;
    }
}
 
源代码9 项目: memoir   文件: RTOperationManager.java
private void push(Operation op, Stack<Operation> stack) {
    if (stack.size() >= MAX_NR_OF_OPERATIONS) {
        stack.remove(0);
    }
    stack.push(op);
}
 
源代码10 项目: memoir   文件: RTOperationManager.java
private void push(Operation op, Stack<Operation> stack) {
    if (stack.size() >= MAX_NR_OF_OPERATIONS) {
        stack.remove(0);
    }
    stack.push(op);
}
 
源代码11 项目: iBioSim   文件: Analysis_Timed.java
private static boolean checkStack(PrjState nextPrjState, PrjState stateStackTop,
			Stack<LinkedList<Transition>> lpnTranStack, Stack<Integer> curIndexStack,
			HashSet<PrjState> stateStack, boolean subsets,
			boolean supersets){
		
		boolean existingState = false;
		
		if(!subsets && !supersets){
			return stateStack.contains(nextPrjState);
		}
		
		ZoneType nextZone = ((TimedState) nextPrjState.get(0)).getZone();
		
		PrjState stackStateIterator = stateStackTop;
		int stackDepth = 1;
		while(stackStateIterator != null){
			
			if(!projectUntimedEquals(nextPrjState, stackStateIterator)){
				stackStateIterator = stackStateIterator.getFather();
				stackDepth++;
				continue;
			}
			
			ZoneType iteratorZone = ((TimedState) stackStateIterator.get(0)).getZone();
			
			// Check for subset.
			if(subsets && nextZone.subset(iteratorZone) 
					|| (nextZone.equals(iteratorZone))){
				
//				if(supersets){
//					existingState |= true;
//				}
//				else{
				existingState = true;
				break;
				//}
			}
			
			if(!supersets){
				stackStateIterator = stackStateIterator.getFather();
				stackDepth++;
				continue;
			}

			// Check for the superset.
			if(iteratorZone.subset(nextZone)){
				PrjState father = stackStateIterator.getFather();
				PrjState child = stackStateIterator.getChild();

				if(child != null){
					child.setFather(father);
				}
				if(father != null){
					father.setChild(child);
				}


				// Remove the corresponding items on the stacks and state set.
				lpnTranStack.remove(lpnTranStack.size() - stackDepth);
				curIndexStack.remove(curIndexStack.size() - stackDepth);
				stateStack.remove(stackStateIterator);
				
				stackStateIterator = stackStateIterator.getFather();
				continue;
			}

			stackStateIterator = stackStateIterator.getFather();
			stackDepth++;
		}
		
		
		return existingState;
	}
 
源代码12 项目: Android-RTEditor   文件: RTOperationManager.java
private void push(Operation op, Stack<Operation> stack) {
    if (stack.size() >= MAX_NR_OF_OPERATIONS) {
        stack.remove(0);
    }
    stack.push(op);
}
 
源代码13 项目: jpexs-decompiler   文件: Timeline.java
public Shape getOutline(int frame, int time, RenderContext renderContext, Matrix transformation, boolean stroked) {
    Frame fr = getFrame(frame);
    Area area = new Area();
    Stack<Clip> clips = new Stack<>();
    for (int d = maxDepth; d >= 0; d--) {
        Clip currentClip = null;
        for (int i = clips.size() - 1; i >= 0; i--) {
            Clip cl = clips.get(i);
            if (cl.depth <= d) {
                clips.remove(i);
            }
        }
        if (!clips.isEmpty()) {
            currentClip = clips.peek();
        }
        DepthState layer = fr.layers.get(d);
        if (layer == null) {
            continue;
        }
        if (!layer.isVisible) {
            continue;
        }
        CharacterTag character = swf.getCharacter(layer.characterId);
        if (character instanceof DrawableTag) {
            DrawableTag drawable = (DrawableTag) character;
            Matrix m = transformation.concatenate(new Matrix(layer.matrix));

            int drawableFrameCount = drawable.getNumFrames();
            if (drawableFrameCount == 0) {
                drawableFrameCount = 1;
            }

            int dframe = time % drawableFrameCount;
            if (character instanceof ButtonTag) {
                dframe = ButtonTag.FRAME_UP;
                if (renderContext.cursorPosition != null) {
                    ButtonTag buttonTag = (ButtonTag) character;
                    Shape buttonShape = buttonTag.getOutline(ButtonTag.FRAME_HITTEST, time, layer.ratio, renderContext, m, stroked);
                    if (buttonShape.contains(renderContext.cursorPosition)) {
                        if (renderContext.mouseButton > 0) {
                            dframe = ButtonTag.FRAME_DOWN;
                        } else {
                            dframe = ButtonTag.FRAME_OVER;
                        }
                    }
                }
            }

            Shape cshape = ((DrawableTag) character).getOutline(dframe, time, layer.ratio, renderContext, m, stroked);
            Area addArea = new Area(cshape);
            if (currentClip != null) {
                Area a = new Area(new Rectangle(displayRect.Xmin, displayRect.Ymin, displayRect.getWidth(), displayRect.getHeight()));
                a.subtract(new Area(currentClip.shape));
                addArea.subtract(a);
            }

            if (layer.clipDepth > -1) {
                Clip clip = new Clip(addArea, layer.clipDepth);
                clips.push(clip);
            } else {
                area.add(addArea);
            }
        }
    }
    return area;
}