java stack remove_Java Stack.removeAllElements方法代码示例

import java.util.Stack; //导入方法依赖的package包/类

/**

* Returns the TreeStateNode identified by path. This mirrors

* the behavior of getNodeForPath, but tries to take advantage of

* path if it is an instance of AbstractTreePath.

*/

private TreeStateNode getNodeForPath(TreePath path,

boolean onlyIfVisible,

boolean shouldCreate) {

if(path != null) {

TreeStateNode node;

node = getMapping(path);

if(node != null) {

if(onlyIfVisible && !node.isVisible())

return null;

return node;

}

// Check all the parent paths, until a match is found.

Stack paths;

if(tempStacks.size() == 0) {

paths = new Stack();

}

else {

paths = tempStacks.pop();

}

try {

paths.push(path);

path = path.getParentPath();

node = null;

while(path != null) {

node = getMapping(path);

if(node != null) {

// Found a match, create entries for all paths in

// paths.

while(node != null && paths.size() > 0) {

path = paths.pop();

node.getLoadedChildren(shouldCreate);

int childIndex = treeModel.

getIndexOfChild(node.getUserObject(),

path.getLastPathComponent());

if(childIndex == -1 ||

childIndex >= node.getChildCount() ||

(onlyIfVisible && !node.isVisible())) {

node = null;

}

else

node = (TreeStateNode)node.getChildAt

(childIndex);

}

return node;

}

paths.push(path);

path = path.getParentPath();

}

}

finally {

paths.removeAllElements();

tempStacks.push(paths);

}

// If we get here it means they share a different root!

// We could throw an exception...

}

return null;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值