Самый простой способ сделать то, что вы описали, что вы хотите сделать, это:
public static void main(String[] args) throws InterruptedException {
String[] arrayElements = { "value1", "value2", "value3", "value4" };
for (int i = 0; i < arrayElements.length; i++) {
System.out.println(arrayElements[i]);
Thread.sleep(5000);
}
}
Если вы должны использовать TimerTask, вы можете сделать:
public static void main(String[] args) throws InterruptedException {
String[] arrayElements = { "value1", "value2", "value3",
"value4" };
long start = System.currentTimeMillis();
for (int i = 0; i < arrayElements.length; i++) {
final String value = arrayElements[i];
new java.util.Timer().schedule(new java.util.TimerTask() {
public void run() {
System.out.println(value);
}
}, new Date(start));
start += 5000;
}
}