static void moveUp(TreeItem item) { if (item.getParent() instanceof TreeItem) { TreeItem parent = item.getParent(); List<TreeItem> list = new ArrayList<TreeItem>(); Object prev = null; for (Object child : parent.getChildren()) { if (child == item) { list.add((TreeItem)child); } else { if (prev != null) list.add((TreeItem)prev); prev = child; } } if (prev != null) list.add((TreeItem)prev); parent.getChildren().clear(); parent.getChildren().addAll(list); } }
@SuppressWarnings("unchecked") public I getItemByUuid(final String uuid) { if (getUuid().equals(uuid)) { return (I) this; } final I[] selectedItem = (I[]) new TreeItem[1]; getChildren().forEach(c -> { if (selectedItem[0] == null) { selectedItem[0] = (I) c.getItemByUuid(uuid); } }); return selectedItem[0]; }
for(TreeItem node: root.getChildren(){ parentChild.put(node.getValue().toString(), node.getChildren()); } for(Entry<String, List<TreeItem>> ent: parentChild.entrySet(){ for(TreeItem myItem : ent.getValue()){ System.out.println(myItem.getValue()); } }
@SuppressWarnings("unchecked") public I getItemByUuid(final String uuid) { if (getUuid().equals(uuid)) { return (I) this; } final I[] selectedItem = (I[]) new TreeItem[1]; getChildren().forEach(c -> { if (selectedItem[0] == null) { selectedItem[0] = (I) c.getItemByUuid(uuid); } }); return selectedItem[0]; }
someone.age = 16 + i * 3; TreeItem categoryNode = root.getChildren().get(i % 3); categoryNode.getChildren().add(new TreeItem<>(someone));