基于字符串的后缀从列表查看器中删除项目(列表项)

时间:2014-06-23 20:48:06

标签: java list swt jface treeviewer

我在TreeViewer中有一个TreeViewer和一个List,其中包含一个项目列表(String),例如:

在TreeViewer

中替换一个\\第一项

子任务两个

子任务三个

子任务四个

子任务四个三

我想从TreeViewer中删除后缀" one"并留下其余的物品。如何迭代项目并删除名称以字符串"一个"?结尾的项目

示例代码:

TreeViewer treeViewer = new TreeViewer(moverComposite, SWT.BORDER | SWT.MULTI);
treeViewer.setContentProvider(new TreeContentProvider());
treeViewer.setLabelProvider(new LabelProvider());
GridData gridData = new GridData(SWT.DEFAULT, SWT.FILL, false, true);
gridData.widthHint = 215;
treeViewer.getControl().setLayoutData(gridData);
List listItems = new ArrayList();
listItems.addAll(getItems());
//This line I would want to iterate through the list and remove the list items whose names end with the string "one".
treeViewer.setInput(listItems);

有人请您最早帮助我。

在设置树查看器的输入之前,我想迭代列表并仅删除名称以字符串"一个" (带有后缀&#34的项目;一个")?从列表中删除项目后,我将设置treeViewer的输入。

有没有办法删除名称以字符串&#34结尾的项目;一个"? 我该怎么做呢?我被困在这里请有人请建议如何继续?

提前致谢。

1 个答案:

答案 0 :(得分:0)

假设getItems()给出了Item对象的列表,

List<Item> listItems = new ArrayList<Item>();
foreach(Item item : getItems()){
  if(!item.getName().endsWith("one")){
     listItems.add(item);
   }
  }
treeViewer.setInput(listItems);