簡體   English   中英

如何將空的arrayList添加到從類創建的另一個arrayList

[英]How to add an empty arrayList to another arrayList created from a class

我試圖將一個空的arrayList“ patternList”添加到從treeNode類創建的“ treeList” arrayList中,但是我無法用代碼最后一行顯示的空patternList arrayList填充treeList arrayList。 基本上,我要為treeList中的每個項目提供一個空的arrayList,稍后再填充。 謝謝。

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

public class testJava{

    public static class treeNode {
        String nodeName;
        String pNodeName;
        String fNodeName;
        boolean begNode;
        boolean targetNode;
        int nodeNumber;
        //String pattern;
        ArrayList<String> patternList = new ArrayList<String>();
        public treeNode (String nodeName, String pNodeName, boolean begNode, boolean targetNode, int nodeNumber, ArrayList<String> patternList)
        {
            this.nodeName = nodeName;
            this.pNodeName = pNodeName;
            this.begNode = begNode;
            this.targetNode = targetNode;
            this.nodeNumber = nodeNumber;
            this.patternList = patternList;
            //this.pattern = pattern;
        }
    }

    public static void main (String[] args){
        ArrayList<treeNode> treeList = new ArrayList<treeNode>();
        ArrayList<String> openList = new ArrayList<String>();
        ArrayList<String> closeList = new ArrayList<String>();
        ArrayList<String> treePath = new ArrayList<String>();
        String currentNode = "";
        String targetNode = "";
        int smallestNodeCount  = 0;
        int tempNodeCount = 0;
        int openListCount = 0;
        String currentPattern = "" ;

        treeList.add(new treeNode ("S 1", null, true, false, 1, ArrayList<string> patternList));

要創建一個新的空ArrayList ,語法應為new ArrayList<String>()

由於您將立即將新創建的列表作為參數傳遞給TreeNode構造函數,因此不需要變量名。

因此,您的最后一行應該是:

treeList.add(new treeNode ("S 1", null, true, false, 1, new ArrayList<String>()));

同樣,按照慣例,Java類名稱在UpperCamelCase中,而不在LowerCamelCase中。 這就是為什么它是ArrayList而不是arrayList

您的類名稱應為TreeNodeTestJava ,大寫T

另一件事要注意的是您的變量類型。 通常,您希望變量類型在可用時使用接口,而不是顯式地綁定到特定的實現類。 因此, ArrayList<String> openList = new ArrayList<String>();使用ArrayList<String> openList = new ArrayList<String>();定義列表, ArrayList<String> openList = new ArrayList<String>();使用ArrayList<String> openList = new ArrayList<String>(); ,請考慮將openList的類型openListList 這僅適用於聲明的左側。 在右側,創建新實例時仍然需要具體的類(即ArrayList )。 因此,您的聲明將變為:

List<String> openList = new ArrayList<>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM