this.elements.addAll(l);
}
+ public NTuple(NTuple<T> tuple) {
+ this(tuple.toList());
+ }
+
+ public List<T> toList() {
+ return elements;
+ }
+
public NTuple() {
this.elements = new ArrayList<T>();
}
if (o == null || o.getClass() != this.getClass()) {
return false;
}
- return (((NTuple) o).elements).equals(elements);
+ return (((NTuple<T>) o).elements).equals(elements);
}
public int hashCode() {
}
for (int i = 0; i < prefix.size(); i++) {
- if (prefix.get(i).equals(get(i))) {
+ if (!prefix.get(i).equals(get(i))) {
return false;
}
}
}
+ public NTuple<T> subList(int startIdx, int endIdx) {
+
+ NTuple<T> subList = new NTuple<T>();
+
+ for (int i = startIdx; i < endIdx; i++) {
+ subList.add(elements.get(i));
+ }
+
+ return subList;
+
+ }
+
+ public T getLastElement() {
+ return elements.get(elements.size() - 1);
+ }
+
+ public NTuple<T> clone() {
+ NTuple<T> clone = new NTuple<T>();
+ clone.addAll(this);
+ return clone;
+ }
+
}