ลบรายการออกจาก TreeViewer ตามส่วนต่อท้ายของสตริง (รายการ)

ฉันมี TreeViewer และรายการภายใน TreeViewer ที่มีรายการ (String) เช่น:

งานย่อยหนึ่งรายการ \\first ใน TreeViewer

งานย่อยสองหนึ่ง

งานย่อยสามหนึ่ง

งานย่อยที่สี่สอง

งานย่อยสี่สาม

ฉันต้องการลบรายการออกจาก TreeViewer โดยมีคำต่อท้าย "one" และปล่อยรายการที่เหลือไว้ ฉันจะวนซ้ำรายการและลบรายการที่มีชื่อลงท้ายด้วยสตริง "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);

ใครก็ได้โปรดช่วยฉันที่นี่โดยเร็วที่สุด ได้โปรด

ก่อนที่จะตั้งค่าอินพุตของ Tree Viewer ฉันต้องการวนซ้ำรายการและลบเฉพาะรายการที่มีชื่อลงท้ายด้วยสตริง "one" (รายการที่มีคำต่อท้าย "one")? หลังจากลบรายการออกจากรายการแล้ว ฉันจะตั้งค่าอินพุตของ treeViewer

มีวิธีลบรายการที่มีชื่อลงท้ายด้วยสตริง "one" หรือไม่? ฉันจะทำอย่างไร? ฉันติดอยู่ที่นี่ โปรดมีคนกรุณาแนะนำวิธีดำเนินการต่อไป?

ขอบคุณล่วงหน้า.


person user3652212    schedule 23.06.2014    source แหล่งที่มา
comment
ดูที่ String.endsWith   -  person greg-449    schedule 24.06.2014


คำตอบ (1)


สมมติว่า getItems() ให้รายการวัตถุ Item แก่ฉัน

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