代码拉取完成,页面将自动刷新
树形结构工具,支持递归消费、查询、转换、复制、过滤功能
class BasicTreeTest {
@Test
public void testConstruct() {
BasicTree<String> tree = new BasicTree<>("tom");
System.out.println(tree);
}
@Test
public void testFullEquals() {
BasicTree<String> t1 = new BasicTree<>("1");
BasicTree<String> t2 = new BasicTree<>("1");
assertEquals(t1, t2);
assertTrue(t1.fullEquals(t2));
t1.addChild(new BasicTree<>("2"));
t2.addChild(new BasicTree<>("2"));
assertEquals(t1, t2);
assertTrue(t1.fullEquals(t2));
t1.addChild(new BasicTree<>("3"));
assertEquals(t1, t2);
assertFalse(t1.fullEquals(t2));
}
@Test
public void testCopy() {
BasicTree<String> t1 = new BasicTree<>("1");
BasicTree<String> t2 = t1.clone();
assertEquals(t1, t2);
assertTrue(t1.fullEquals(t2));
assertFalse(t1 == t2);
t1.addChild(new BasicTree<>("2"));
assertEquals(t1, t2);
assertFalse(t1.fullEquals(t2));
t2 = t1.clone();
assertEquals(t1, t2);
assertTrue(t1.fullEquals(t2));
assertFalse(t1 == t2);
}
@Test
public void testFindFirst() {
BasicTree<Integer> t1 = new BasicTree<>(1);
Optional<BasicTree<Integer>> first = t1.findFirst(it -> it.getRoot().equals(1));
assertTrue(first.isPresent());
assertEquals(first.get(), new BasicTree<>(1));
BasicTree<Integer> t2 = new BasicTree<>(2);
t2.addChild(new BasicTree<>(3));
t2.addChild(new BasicTree<>(4));
t1.addChild(t2);
Optional<BasicTree<Integer>> first1 = t1.findFirst(it -> it.getRoot().equals(2));
System.out.println(first1);
Optional<BasicTree<Integer>> first2 = t1.findFirst(it -> it.getRoot().equals(3));
System.out.println(first2);
Optional<BasicTree<Integer>> first3 = t1.findFirst(it -> it.getRoot().equals(4));
System.out.println(first3);
}
@Test
public void testFilter() {
BasicTree<Integer> t1 = new BasicTree<>(1);
BasicTree<Integer> t2 = new BasicTree<>(2);
t2.addChild(new BasicTree<>(3));
t2.addChild(new BasicTree<>(4));
t1.addChild(t2);
System.out.println(t1.toMap());
System.out.println(t1.filter(it -> it.getRoot().equals(2) || it.getRoot().equals(1) ||it.getRoot().equals(4)).get().toMap());
}
@Test
public void testMap() {
BasicTree<Integer> t1 = new BasicTree<>(1);
BasicTree<Integer> t2 = new BasicTree<>(2);
t2.addChild(new BasicTree<>(3));
t2.addChild(new BasicTree<>(4));
t1.addChild(t2);
System.out.println(t1.toMap());
BasicTree<String> maped = t1.map(it -> new BasicTree<String>("Hello " + it.getRoot()));
System.out.println(maped.toMap());
}
@Test
public void testMapItem() {
BasicTree<Integer> t1 = new BasicTree<>(1);
BasicTree<Integer> t2 = new BasicTree<>(2);
t2.addChild(new BasicTree<>(3));
t2.addChild(new BasicTree<>(4));
t1.addChild(t2);
System.out.println(t1.toMap());
BasicTree<String> maped = t1.mapItem(it->"Hello " + it);
System.out.println(maped.toMap());
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。