「java节点代码」动力节点java教程

博主:adminadmin 2022-12-04 17:09:07 70

今天给各位分享java节点代码的知识,其中也会对动力节点java教程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用JAVA编写这个链表类,要求能够从尾部添加节点,详细代码。

public class ZLinkedList {

private int size;

private Node head;

public ZLinkedList(){

size = 0;

}

public void headInsert(Object obj){

//if(null== obj) {// do something}

Node temp = new Node(obj);

if(size ==0){

head = temp;

}else{

temp.setNext(head);

head = temp;

}

size++;

}

public void tailInsert(Object obj){

// if(null== obj) {// do something}

Node temp = new Node(obj);

if (size == 0) {

head = temp;

} else {

Node t = head;

while(t.getNext()!=null)

t= t.getNext();

t.setNext(temp);

}

size++;

}

public void preOrder(){

int length = size;

Node temp = head;

for(int i= 0;i  length;i ++){

System.out.println(temp.getValue());

temp = temp.getNext();

}

}

private static class Node{

private Object value;

private Node next;

Node(){

}

Node(Object val){

this.value = val;

}

public Object getValue() {

return value;

}

public void setValue(Object value) {

this.value = value;

}

public Node getNext() {

return next;

}

public void setNext(Node next) {

this.next = next;

}

}

public static void main(String[] args) {

ZLinkedList test = new ZLinkedList();

test.tailInsert("1");

test.tailInsert("2");

test.tailInsert("3");

test.preOrder();

}

}

//java qq交流群:251832769

java中的XML追加内容,追加节点,和节点的内容,还要常用的设计模式的代码

/**

* 根据Xml文件生成Document对象

*

* @param file

* xml文件路径

* @return Document对象

* @throws DocumentException

*/

public static Document getDocument(String path) throws DocumentException {

File file = new File(path);

SAXReader xmlReader = new SAXReader();

return xmlReader.read(file);

}

/**

* 根据输入流生成Document对象

*

* @param is

* 输入流

* @return Document对象

* @throws DocumentException

*/

public static Document getDocument(InputStream is) throws DocumentException {

SAXReader xmlReader = new SAXReader();

return xmlReader.read(is);

}

/**

* 根据Document得到根结点

*

* @param doc

* Document目录

* @return 根结点

* @throws DocumentException

*/

public static Element getRoot(String path) throws DocumentException {

Document doc = getDocument(path);

return doc.getRootElement();

}

/**

* 取出当前结点下的所有子结点

*

* @param root

* 当前结点

* @return 一组Element

* @throws DocumentException

*/

@SuppressWarnings("unchecked")

public static ListElement getElements(String path)

throws DocumentException {

Element root = getRoot(path);

return root.elements();

}

/**

* 根据元素名称返回一组Element

*

* @param root

* 当前结点

* @param name

* 要返回的元素名称

* @return 一组Element

* @throws DocumentException

*/

@SuppressWarnings("unchecked")

public static ListElement getElementsByName(String path, String name)

throws DocumentException {

Element root = getRoot(path);

return root.elements(name);

}

/**

* 根据元素名称返回一个元素(如果有多个元素的话,只返回第一个)

*

* @param root

* 当前结点

* @param name

* 要返回的元素名称

* @return 一个Element元素

* @throws DocumentException

*/

public static Element getElementByName(String path, String name)

throws DocumentException {

Element root = getRoot(path);

return root.element(name);

}

/**

* 根据当前元素,返回该元素的所有属性

*

* @param root

* 当前结点

* @return 当前结点的所有属性

* @throws DocumentException

*/

@SuppressWarnings("unchecked")

public static ListAttribute getAttributes(String path)

throws DocumentException {

Element root = getRoot(path);

return root.attributes();

}

/**

* 根据属性名称,返回当前元素的某个属性

*

* @param root

* 当前结点

* @return 当前结点的一个属性

* @throws DocumentException

*/

public static Attribute getAttributeByName(String path, String name)

throws DocumentException {

Element root = getRoot(path);

return root.attribute(name);

}

public static ListElement getElementWithAttribute(String path,String attr,String value) throws DocumentException{

ListElement elist = new ArrayListElement() ;

ListElement list = getElements(path);

for(Element element:list){

if(element.attribute(attr).getText().equals(value)){

elist.add(element);

}

}

try {

elist.add(getElementSelf(path, attr, value));

} catch (Exception e) {

// TODO: handle exception

}

return elist;

}

public static Element getElementSelf(String path,String attr,String value) throws DocumentException{

Element element = null ;

ListElement list = getElements(path);

for(Element e:list){

if(e.attribute(attr).getText().equals(value)){

element = e ;

}

}

return element;

}

JAVA数据结构关于查找树的节点的代码分析

你好,递归调用简单的说就是自己无限的调用自己的下一级,也就是说父节点和子节点拥有相同的属性和方法,所以在处理玩当前节点也就是父节点的时候,就调用处理自身下面的子节点,类似于文件夹和文件,文件夹相对于当前目录来说是父节点,而他里面的子文件夹就相当于子节点,但是处理子文件夹的时候,子文件夹就成了父节点,一次递归处理完毕

希望可以帮助到你

java 求二叉树的叶子结点,下面的代码不知道哪里出错了!

我看了一下,知道lz的错误在哪了。

createbintree方法中。以lz的讲的先输入a、再输入三回车,也就是当前只有一个节点a。下面就以楼主的数据来讲一下函数所走流程

1.可是当楼主输入a之后,按完第一个回车

当前取得的数据a,走else分支,接下来就到myTree.data = str;//为节点赋值,假设为父节点1

myTree.lchild = new BintNode();//为myTree建立了左节点

createbintree(myTree.lchild);

//递归调用跳到2

myTree.rchild = new BintNode();//创建右节点

createbintree(myTree.rchild);

//递归调用跳到3

2.输入第二个回车,数据为空,那么走if分支,myTree=null,照理说应该将myTree该节点赋值为空,也就代表没有该节点。

其实这个想法是错误的。在1中,为父节点1分配了左孩子,已经是new出来的对象。不知道lz对函数调用中的形参(也就是函数名所带的参数)的值,是怎么理解。有两种形式的

1)值传递:即使是值传递,在函数体中,改变的也只是一个临时变量的值。并不会影响到实参的值

2)引用传递:对象间的传递,而这传递只是引用关系的传递。就是将该参数指向该类,如果在函数体中设为null,也只是将形参与实际对象间的引用关系给去掉

本程序中,是属于引用传递,在createbintree将myTree=null,也只是断掉myTree与外部对象的关系而已,即父节点1的左孩子间的关系,所以父节点1的左孩子不为null

3.与2同样的解释,也可知道右孩子也不为空。

那么在调用num来计算叶子的个数时候,是不是根结点一开始进来,左右孩子都不为null,所以自然最后一个else。那么往下,lz再计算一下就知道结果为2

建议修改的话:

在createbintree方法中,if ("".equals(str.trim()))为空时,则myTree.data=null

然后在num方法中,计算个数的话,利用myTree.data==null return 0 ; myTree.lchild.data==null myTree.rchild.data==null return 1 ; else 一样

java递归查询子节点,按给的示例代码实现

代码如下:

import java.util.ArrayList;

import java.util.List;

class Org {

private String id;

private String name;

private String pid;

public Org(String id, String name, String pid) {

this.id = id;

this.name = name;

this.pid = pid;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPid() {

return pid;

}

public void setPid(String pid) {

this.pid = pid;

}

@Override

public String toString() {

return "Org [id=" + id + ", name=" + name + ", pid=" + pid + "]";

}

}

public class App {

static void find(ListOrg list, String pid) {

list.stream().filter(p - p.getPid().equals(pid))

.forEach(org - {

System.out.println(org);

find(list, org.getId());

});

}

public static void main(String[] args) {

ListOrg list = new ArrayList();

list.add(new Org("111", "公司", "0"));

list.add(new Org("222", "部门", "111"));

list.add(new Org("333", "小组", "222"));

list.add(new Org("444", "员工1", "333"));

list.add(new Org("555", "员工2", "333"));

find(list, "0");

System.out.println("------------------------------------");

find(list, "111");

}

}

运行结果:

java节点代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于动力节点java教程、java节点代码的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-04,除非注明,否则均为首码项目网原创文章,转载请注明出处。