Я хотел проверить, если итерация я выполнял был в его окончательном исполнении:итерации обнаружения прогресса Java
for(String t: token)
Как я могу добиться этого в следующем случае? Здесь токен String[]
массив
Я хотел проверить, если итерация я выполнял был в его окончательном исполнении:итерации обнаружения прогресса Java
for(String t: token)
Как я могу добиться этого в следующем случае? Здесь токен String[]
массив
Это будет работать для вас
int counter=0;
for(String t: token){
counter++;
if(counter==token.length-1)){
}
}
Но если вам нужно сосредоточены на индексах можно использовать только for-loop
for(int i=0;i<token.length;i++){
if(i==token.length-1){
}
}
С быстрым перечислением вы не можете получить индекс итерации.
Однако вы всегда можете использовать счетчик, который увеличивает в пределах вашего цикла быстрого перечисления, и действовать, когда его значение равно Collection
или размеру массива минус 1.
Вот пример.
List<String> test = new ArrayList<String>();
// TODO populate
// outside counter
int counter = 0;
for (String s: test) {
// TODO something
// checking counter vs collection size: last element
if (counter == test.size() - 1) {
// TODO something
}
counter++;
}
Однако стандартный for
цикл будет наиболее рекомендуется вместо:
for (int i = 0; i < test.size(); i++) {
// checking counter vs collection size: last element
if (i == test.size() - 1) {
// TODO something
}
}
Вы можете сделать это следующим образом:
int counter = 0;
for(String t: token) {
counter++;
if(counter==token.length-1) {
//final iteration
}
}
Если Iterable
вы можете ходить итератор самостоятельно:
List<String> token = Arrays.asList("First","Next","Last");
// Old way
for (String t : token) {
System.out.println(t);
}
// Using iterator.
for (Iterator<String> i = token.iterator(); i.hasNext();) {
String s = i.next();
System.out.println((i.hasNext()?"":"*")+s);
}
или вы могли бы пройти один шаг позади:
// One step behind.
String s = null;
for (String t : token) {
if (s != null) {
System.out.println(s);
}
s = t;
}
if (s != null) {
System.out.println("*"+s);
}
Вы не можете использовать пока?
int i = 0;
while(i < token.length)
{
//check for last element
if(i==token.length-1){
}
}
Просто предоставление другого способа сделать это с использованием равных.
for(String t: token) {
if(t.equals(token[token.length-1])) {
// Do stuff
}
}
да токен - это строка. –
'token' должен быть' String [] ' –
@Ruchira проверить edit –