package com.yc.nlp.util;
import java.util.ArrayList;
import java.util.Iterator;
/**
* extends arraylist to change the toString() method
*
* @author uohzoaix
*
* @param <E>
*/
public class Tuple<E> extends ArrayList<E> {
private static final long serialVersionUID = -2183616577654310036L;
public Tuple() {
super();
}
public static Tuple<String> fromStr(String ele) {
Tuple<String> strs = new Tuple<String>();
String[] strArr = ele.split("-");
for (String str : strArr) {
strs.add(str);
}
return strs;
}
@Override
public Tuple<E> subList(int fromIndex, int toIndex) {
Tuple<E> tuple = new Tuple<E>();
tuple.addAll(super.subList(fromIndex, toIndex));
return tuple;
}
@Override
public String toString() {
Iterator<E> it = iterator();
if (!it.hasNext())
return "";
StringBuilder sb = new StringBuilder();
for (;;) {
E e = it.next();
sb.append(e == this ? "" : e);
if (!it.hasNext())
return sb.toString();
sb.append('-');
}
}
}