基础训练营复习3_嘘嘘喵

嘘嘘喵 社区会员 2021-10-15 21:14:12

10.15

学习内容

1.<T> T

这个<T> T 表示的是返回值T是泛型,T是一个占位符传递什么类型的数据,就会返回同类型的数据。

单独的T就是表示限制你传递的参数类型。

2.树形结构的构造

只构造了树形结构,还没有遍历。
可以说的内容基本都卸载代码的注释里了
代码如下:

package com.xxm.exam1;

import java.util.ArrayList;
import java.util.List;

public class task29 {
    public class Node<T> {
        //定义Note类
        private T data = null;
        //定义并初始化
        private List<Node<T>> children = new ArrayList<>();
        //声明并初始化Node类的子节点

        private Node<T> parent = null;
        //声明并初始化Node类的父节点

        public Node(T data) {
            this.data = data;
        }
        //定义Node类数据的设置方法

        public Node<T> addChild(Node<T> child) {
            child.setParent(this);
            this.children.add(child);
            return child;
        }
        //定义增加单个子节点的方法

        public void addChildren(List<Node<T>> children) {
            children.forEach(each -> each.setParent(this));
            this.children.addAll(children);
        }
        //定义增加多个子节点的方法

        public Node<T> getParent() {
            return parent;
        }
        //定义获取父节点的方法

        public T getData() {
            return data;
        }
        //定义获取特定节点数据的方法


        public void setData(T data) {
            this.data = data;
        }
        //定义当前节点数据的设置方法

        public void setParent(Node<T> parent) {
            this.parent = parent;
        }
        //定义设置父节点的方法

        public void setChildren(List<Node<T>> children) {
            this.children = children;
        }
        //定义设置多个子节点的方法

        public List<Node<T>> getChildren() {
            return children;
        }
        //定义获取多个子节点的方法
    }   //至此,树型结构构造完毕

    public void main(String[] args) {
        /*示例
        Node<String> root = new Node<>("root");
        //定义根节点
        Node<String> node1 = root.addChild(new Node<String>("node 1"));
        //增加一个结子节点,其父节点是root
        */
        Node<String> root = new Node<>("root");
        Node<String> node1 = root.addChild(new Node<String>("中国"));
        Node<String> node2 =node1.addChild(new Node<String>("北京市"));
        Node<String> node3 =node2.addChild(new Node<String>("朝阳区"));
        Node<String> node4 =node2.addChild(new Node<String>("海淀区"));
        Node<String> node5 =node1.addChild(new Node<String>("湖北省"));
        Node<String> node6 =node5.addChild(new Node<String>("武汉市"));
        Node<String> node7 =node6.addChild(new Node<String>("江汉区"));
        Node<String> node8 =node6.addChild(new Node<String>("江夏区"));
        Node<String> node9 =node1.addChild(new Node<String>("湖南省"));
        Node<String> node10 =node9.addChild(new Node<String>("长沙市"));
        Node<String> node11 =node9.addChild(new Node<String>("郴州市"));
        Node<String> node12 =root.addChild(new Node<String>("美国"));
        Node<String> node13 =node12.addChild(new Node<String>("加利福尼亚州"));
        Node<String> node14 =node12.addChild(new Node<String>("得克萨斯州"));
    }
}
// https://www.javagists.com/java-tree-data-structure

工作内容

java任务

codegym任务

https://blog.csdn.net/xuxumiao204/article/details/120784711

...全文
251 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110

社区成员

发帖
与我相关
我的任务
社区描述
训练、训练、训练!
其他 其他
社区管理员
  • 实训001
  • 非鱼up
  • andy421
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

自律训练,自信挑战!

试试用AI创作助手写篇文章吧