M
mausi
Gast
kann man innerhalb eines Programmes mit verschiedenen Listenimplementierungen arbeiten??? Z.Bsp. mit ArrayList und PointerList???
public class ListMain {
/**
* @param argv - Parameter bei Programmstart
*/
public static void main(String[] argv) {
PointerListT l1 = new PointerListT();
PointerListT l2 = new PointerListT();
for (int i = 0; i < 10; i++) {
l1.append(new IntElemT(i));
l1.append(new IntElemT(i));
}
for (int i = 0; i < 10; i++) {
l1.append(new IntElemT(i));
}
for (int i = 0; i < 23; i = i + 3) {
l2.append(new IntElemT(i));
}
System.out.println("before purge: " + l1.toString());
ListOperations.purge(l1);
System.out.println("after purge: " + l1.toString());
System.out.println("before union l1: " + l1.toString());
System.out.println("before union l2: " + l2.toString());
ListOperations.union(l1, l2);
System.out.println("after union l1: " + l1.toString());
} // main
} // class PurgeMain
PointerListT l1 = new PointerListT();
PointerListT l2 = new PointerListT();
KaeseListT l1 = new PointerListT();
KaeseListT l2 = new PointerListT();
A what = new B();
List list = new ArrayList();
// mach was mit der List
PointerListT l1 = new PointerListT();
ArrayListT l2 = new ArrayListT();
public class ListMain {
/**
* @param argv - Parameter bei Programmstart
*/
public static void main(String[] argv) {
PointerListT l1 = new PointerListT();
PointerListT l2 = new PointerListT();
ArrayListT l3 = new ArrayListT();
ArrayListT l4 = new ArrayListT();
for (int i = 0; i < 10; i++) {
l1.append(new IntElemT(i));
l1.append(new IntElemT(i));
l3.append(new IntElemT(i));
l3.append(new IntElemT(i));
}
for (int i = 0; i < 10; i++) {
l1.append(new IntElemT(i));
l3.append(new IntElemT(i));
}
for (int i = 0; i < 23; i = i + 3) {
l2.append(new IntElemT(i));
l4.append(new IntElemT(i));
}
System.out.println("before purge: " + l1.toString());
ListOperations.purge(l1);
System.out.println("before purge: " + l3.toString());
ListOperations.purge(l3);
System.out.println("after purge: " + l1.toString());
System.out.println("after purge: " + l3.toString());
System.out.println("before union l1: " + l1.toString());
System.out.println("before union l2: " + l2.toString());
System.out.println("before union l3: " + l3.toString());
System.out.println("before union l4: " + l4.toString());
ListOperations.union(l1, l2);
ListOperations.union(l3, l4);
System.out.println("after union l1: " + l1.toString());
System.out.println("after union l3: " + l3.toString());
} // main
} // class PurgeMain
und somit können verschiedene Listenimplementierungen in einem Programm benutzt werden
public void connect(ListT l) {
if (!(l instanceof ArrayListT)) {
System.err.println("connect(): expected class:ArrayList, got:"
+l.getClass().getName());
System.exit(1);
} else {
ArrayListT al = (ArrayListT) l;
if (size + al.size > maxSize) {
System.err.println("connect(): overflow");
System.exit(1);
} // if
for(int i = 0; i < al.size; i++) {
contents[i + size] = al.contents[i].copy();
} // for
size = size + al.size;
}// else
}// connect
public void connect(ListT l) {
if (size + al.size > maxSize) {
System.err.println("connect(): overflow");
System.exit(1); //// BÄHHHHH, nimm ne exception
}
for(int i = 0; i < al.size; i++) {
contents[i + size] = al.contents[i].copy();
} // for
size = size + al.size;
}// connect