TP 07
This commit is contained in:
41
DEV 3.2/TP07/Repertoires/Node.java
Normal file
41
DEV 3.2/TP07/Repertoires/Node.java
Normal file
@@ -0,0 +1,41 @@
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class Node<T> {
|
||||
private T value;
|
||||
private Collection<Node<T>> subNodes;
|
||||
|
||||
public Node(T value) {
|
||||
this.value = value;
|
||||
this.subNodes = new HashSet<>();
|
||||
}
|
||||
|
||||
public T getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(T value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public Collection<Node<T>> getSubNodes() {
|
||||
return this.subNodes;
|
||||
}
|
||||
|
||||
public boolean addSubNode(Node<T> node) {
|
||||
return subNodes.add(node);
|
||||
}
|
||||
|
||||
public boolean remSubNode(Node<T> node) {
|
||||
return subNodes.remove(node);
|
||||
}
|
||||
|
||||
public void showNode(int level) {
|
||||
for (int i = 0; i < level; i++) System.out.print("\t");
|
||||
System.out.println(value.toString());
|
||||
|
||||
for (Node<T> subNode : subNodes) {
|
||||
subNode.showNode(level + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
27
DEV 3.2/TP07/Repertoires/Repertoires.java
Normal file
27
DEV 3.2/TP07/Repertoires/Repertoires.java
Normal file
@@ -0,0 +1,27 @@
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* Repertoires
|
||||
*/
|
||||
public class Repertoires {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Tree<String> tree = new Tree<>();
|
||||
File f = new File(args.length > 0 ? args[0] : ".");
|
||||
tree.getRootNode().setValue(f.getName());
|
||||
fillNode(tree.getRootNode(), f);
|
||||
tree.showTree();
|
||||
}
|
||||
|
||||
public static void fillNode(Node<String> node, File folder) {
|
||||
for (File f : folder.listFiles()) {
|
||||
Node<String> subNode = new Node<String>(f.getName());
|
||||
|
||||
if (f.isDirectory()) {
|
||||
fillNode(subNode, f);
|
||||
}
|
||||
|
||||
node.addSubNode(subNode);
|
||||
}
|
||||
}
|
||||
}
|
||||
19
DEV 3.2/TP07/Repertoires/Tree.java
Normal file
19
DEV 3.2/TP07/Repertoires/Tree.java
Normal file
@@ -0,0 +1,19 @@
|
||||
public class Tree<T> {
|
||||
private Node<T> rootNode;
|
||||
|
||||
public Tree() {
|
||||
rootNode = new Node<T>(null);
|
||||
}
|
||||
|
||||
public void setRootNode(Node<T> rootNode) {
|
||||
this.rootNode = rootNode;
|
||||
}
|
||||
|
||||
public Node<T> getRootNode() {
|
||||
return rootNode;
|
||||
}
|
||||
|
||||
public void showTree() {
|
||||
rootNode.showNode(0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user