Suchen Sie eine Teilmenge in Java

Eine Klasse, die nach einer Teilmenge in Java fragt

import java.util.ArrayList;

public class Subset {
	/**Gegebene Reihenfolge*/
	String[] list;
	/**Anzahl der Elemente in einem bestimmten Array*/
	int count;
	/**Liste zum Speichern von Teilmengen*/
	ArrayList<String> arrayList = new ArrayList<>();

	/**
	 *Konstrukteur
	 * @param list
	 */
	public Subset(String[] list) {
		this.list = list;
		count = list.length;
		arrayList = new ArrayList<>();
		//Suchen Sie eine Teilmenge
		for(int i=0;i<count;i++) {
			execute(i, "");
		}
	}

	/**
	 *Suchen Sie eine Teilmenge mithilfe eines Rückrufaufrufs basierend auf einem Argument
	 * @param num
	 * @param str
	 */
	public void execute(int num, String str) {
		if(num < count) {
			if(str == "") {
				str = list[num];
			}
			arrayList.add(str);
			for(int i=num+1;i<count;i++) {
				execute(i, str + ", " + list[i]);
			}
		}
	}
}

Ausführungsbeispiel

public class Main {
	public static void main(String args[]) {
		String[] list = {"A", "B", "C", "D"};

		Subset subset = new Subset(list);

		for(String str:subset.arrayList) {
			System.out.println(str);
		}
	}

}

Ausführungsergebnis

A
A, B
A, B, C
A, B, C, D
A, B, D
A, C
A, C, D
A, D
B
B, C
B, C, D
B, D
C
C, D
D

Recommended Posts

Suchen Sie eine Teilmenge in Java
Problem beim Finden von javax.annotation.Generated in Java 11 nicht
3 Implementieren Sie einen einfachen Interpreter in Java
Ich habe ein PDF mit Java erstellt.
Ein einfaches Beispiel für Rückrufe in Java
Bleiben Sie in einem Java Primer stecken
Informationen zum Zurückgeben einer Referenz in einem Java Getter
Was ist eine Klasse in der Java-Sprache (3 /?)
Bei der Suche nach mehreren in einem Java-Array
Partisierung in Java
[Erstellen] Ein Memorandum über das Codieren in Java
Änderungen in Java 11
Java erstellt eine Tabelle in einem Word-Dokument
Janken in Java
Java erstellt ein Kreisdiagramm in Excel
Was ist eine Klasse in der Java-Sprache (1 /?)
Was ist eine Klasse in der Java-Sprache (2 /?)
Erstellen Sie eine TODO-App in Java 7 Create Header
Lassen Sie uns eine Taschenrechner-App mit Java erstellen
Implementieren Sie so etwas wie einen Stack in Java
Teilen Sie eine Zeichenfolge in Java mit ". (Dot)"
Erstellen einer Matrixklasse in Java Teil 1
Was Java-Programmierer mit Kotlin nützlich finden
Umfangsrate in Java
FizzBuzz in Java
Ich habe ein Programm zur Beurteilung von Primzahlen in Java erstellt
GetInstance () aus einer @ Singleton-Klasse in Groovy aus Java
Lesen Sie eine Zeichenfolge in einer PDF-Datei mit Java
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Seien Sie vorsichtig, wenn Sie SHIFT-JIS in Java finden
Eine Geschichte über das JDK in der Java 11-Ära
So zeigen Sie eine Webseite in Java an
[Android / Java] Betreiben Sie eine lokale Datenbank in Room
Messen Sie die Größe eines Ordners mit Java
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Ein Hinweis, wenn Sie Tupel in Java möchten
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Ich habe ein Programm zur Beurteilung von Primzahlen in Java geschrieben
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
Eine Bat-Datei, die Java in Windows verwendet
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
Ein kurzer Überblick über Java, das im Unterricht gelernt wurde
Ich habe ein Primfaktorisierungsprogramm in Java geschrieben
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Kommentare in der Java-Quelle
Azure funktioniert in Java
Formatieren Sie XML in Java
Java baut ein Dreieck
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)