Compositeで作成されたデータ構造全体をどのように印刷しますか?

ジェイク:

私はclass-Composite

public class CompositeText implements ComponentText {
    private TypeComponent type;
    private String value;
    private final List<ComponentText> childComponents;

    private CompositeText() {
        childComponents = new ArrayList<>();
    }

    public CompositeText(String value, TypeComponent typeComponent) {
        this.value = value;
        this.type = typeComponent;
        childComponents = new ArrayList<>();
    }

    @Override
    public void add(ComponentText componentText) {
        childComponents.add(componentText);
    }

    @Override
    public void remove(ComponentText componentText) {
        childComponents.remove(componentText);
    }

    @Override
    public TypeComponent getComponentType() {
        return this.type;
    }

    @Override
    public ComponentText getChild(int index) {
        return childComponents.get(index);
    }

    @Override
    public int getCountChildElements() {
        return childComponents.size();
    }

    @Override
    public int getCountAllElements() {
        return childComponents.stream()
                .mapToInt(ComponentText::getCountAllElements)
                .sum();
    }

    @Override
    public String toString() {
        return null;
    }
}

私は同じアクションを実行するクラスを作成しました-解析、テキストを段落に、文章に、トークンに、シンボルに解析します。

public class IntoParagraphParser implements ActionParser {
    // call IntoSentenceParser
}
public class IntoSentenceParser implements ActionParser {
    // call IntoLexemeParser
}
public class IntoLexemeParser implements ActionParser {
    // call IntoSymbolParser
}
public class IntoSymbolParser implements ActionParser {
}

すべてのデータはList <ComponentText> childComponentsclass-Composite-に保存されCompositeTextます。

コンポジット内にあるすべてのデータを出力するようにメソッドを適切に作成するにはどうすればよいですか?これがの方法toString()なると思いますCompositeText

クラスのIntoParagraphParser外観:

public class IntoParagraphParser implements ActionParser {
    private static final String PARAGRAPH_SPLIT_REGEX = "(?m)(?=^\\s{4})";
    private static final IntoParagraphParser paragraphParser = new IntoParagraphParser();
    private static final IntoSentenceParser sentenceParser = IntoSentenceParser.getInstance();

    private IntoParagraphParser() {
    }

    public static IntoParagraphParser getInstance() {
        return paragraphParser;
    }

    public ComponentText parse(String text) throws TextException {
        ComponentText oneParagraph;
        ComponentText componentParagraph = new CompositeText(text, TypeComponent.PARAGRAPH);
        String[] arrayParagraph = text.split(PARAGRAPH_SPLIT_REGEX);

        for(String element: arrayParagraph) {
            oneParagraph = new CompositeText(element, TypeComponent.PARAGRAPH);
            oneParagraph.add(sentenceParser.parse(element));
            componentParagraph.add(oneParagraph);
        }
        return componentParagraph;
    }
}
ジェイク:

このような@Override方法toString()必要CompositeTextです:

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();

        for (ComponentText component : childComponents) {
            builder.append(component.toString());
        }
        return builder.toString();
    }

しかし、このコードをどのように正しく書くのStream APIですか?

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();

        childComponents.stream().map(...????

        return builder.toString();
    }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

構造はCで内部的にどのように機能しますか?ある構造から別の構造へのデータコピーはどのように作成されますか?

分類Dev

変数名の長さが制限されたデータフレームの構造をどのように取得しますか?

分類Dev

部分的に初期化された構造体をどのように作成できますか?

分類Dev

構造体を使用して C で作成されたデータベースの例はどこにありますか?

分類Dev

独自の効率的なデータ構造を作成するにはどうすればよいですか?

分類Dev

mallocを使用して作成された別の構造体内の構造体の配列にmallocを使用するにはどうすればよいですか?

分類Dev

リンクされたデータ構造に幅優先探索アルゴリズムを作成するにはどうすればよいですか?

分類Dev

このデータ構造をさらに最適化するにはどうすればよいですか?

分類Dev

可変参照を返すイテレータを使用して独自のデータ構造を作成するにはどうすればよいですか?

分類Dev

PySpark を使用する場合、Python データ構造は Spark にどのように実装されますか?

分類Dev

Cでは、構造体または構造体へのポインターを返すかどうかをどのように選択しますか?

分類Dev

サブディレクトリ構造全体を別のサブディレクトリの構造としてコピーするシェルスクリプトを作成するにはどうすればよいですか?

分類Dev

複数のネストされたフィールドを持つデータ構造でmatlabismemberを使用するにはどうすればよいですか?

分類Dev

Javaでこれを行うにはどのデータ構造が最適で、どのようにして効率的に実装できますか?

分類Dev

pysparkデータフレームのネストされた構造体に列を追加するにはどうすればよいですか?

分類Dev

scandata全体からデータラベルのみを印刷するにはどうすればよいですか?

分類Dev

ネストされたデータ構造の一部に関数をマッピングするにはどうすればよいですか?

分類Dev

このツリーデータ構造を一度に1つのアイテムでどのように作成しますか?

分類Dev

JavaでPHPのシリアル化されたデータ構造を解析するにはどうすればよいですか?

分類Dev

別の.cファイルで前方宣言された構造体データを使用するにはどうすればよいですか?

分類Dev

C ++で記述されたこのデータ構造を視覚化するにはどうすればよいですか?

分類Dev

リンクされた構造内でテールはどのように機能しますか?

分類Dev

コレクションまたはセットを使用して、Javaのデータ構造内のデータ構造を整理するにはどうすればよいですか?

分類Dev

ソートされた動的リスト(データ構造)を作成しようとしています

分類Dev

pyparsingで、ネストされた構造をどのように無視しますか?

分類Dev

指定されたパラメーターから週の最初の日を取得し、月曜日から日曜日までの週全体を印刷するにはどうすればよいですか?

分類Dev

Rustのロックされた構造体メンバーに対してイテレータを返すにはどうすればよいですか?

分類Dev

Azure KeyVaultで階層データ構造を作成するにはどうすればよいですか

分類Dev

JavaScriptでデータ構造を作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    構造はCで内部的にどのように機能しますか?ある構造から別の構造へのデータコピーはどのように作成されますか?

  2. 2

    変数名の長さが制限されたデータフレームの構造をどのように取得しますか?

  3. 3

    部分的に初期化された構造体をどのように作成できますか?

  4. 4

    構造体を使用して C で作成されたデータベースの例はどこにありますか?

  5. 5

    独自の効率的なデータ構造を作成するにはどうすればよいですか?

  6. 6

    mallocを使用して作成された別の構造体内の構造体の配列にmallocを使用するにはどうすればよいですか?

  7. 7

    リンクされたデータ構造に幅優先探索アルゴリズムを作成するにはどうすればよいですか?

  8. 8

    このデータ構造をさらに最適化するにはどうすればよいですか?

  9. 9

    可変参照を返すイテレータを使用して独自のデータ構造を作成するにはどうすればよいですか?

  10. 10

    PySpark を使用する場合、Python データ構造は Spark にどのように実装されますか?

  11. 11

    Cでは、構造体または構造体へのポインターを返すかどうかをどのように選択しますか?

  12. 12

    サブディレクトリ構造全体を別のサブディレクトリの構造としてコピーするシェルスクリプトを作成するにはどうすればよいですか?

  13. 13

    複数のネストされたフィールドを持つデータ構造でmatlabismemberを使用するにはどうすればよいですか?

  14. 14

    Javaでこれを行うにはどのデータ構造が最適で、どのようにして効率的に実装できますか?

  15. 15

    pysparkデータフレームのネストされた構造体に列を追加するにはどうすればよいですか?

  16. 16

    scandata全体からデータラベルのみを印刷するにはどうすればよいですか?

  17. 17

    ネストされたデータ構造の一部に関数をマッピングするにはどうすればよいですか?

  18. 18

    このツリーデータ構造を一度に1つのアイテムでどのように作成しますか?

  19. 19

    JavaでPHPのシリアル化されたデータ構造を解析するにはどうすればよいですか?

  20. 20

    別の.cファイルで前方宣言された構造体データを使用するにはどうすればよいですか?

  21. 21

    C ++で記述されたこのデータ構造を視覚化するにはどうすればよいですか?

  22. 22

    リンクされた構造内でテールはどのように機能しますか?

  23. 23

    コレクションまたはセットを使用して、Javaのデータ構造内のデータ構造を整理するにはどうすればよいですか?

  24. 24

    ソートされた動的リスト(データ構造)を作成しようとしています

  25. 25

    pyparsingで、ネストされた構造をどのように無視しますか?

  26. 26

    指定されたパラメーターから週の最初の日を取得し、月曜日から日曜日までの週全体を印刷するにはどうすればよいですか?

  27. 27

    Rustのロックされた構造体メンバーに対してイテレータを返すにはどうすればよいですか?

  28. 28

    Azure KeyVaultで階層データ構造を作成するにはどうすればよいですか

  29. 29

    JavaScriptでデータ構造を作成するにはどうすればよいですか?

ホットタグ

アーカイブ