ArrayList lastIndexof - PullRequest
       41

ArrayList lastIndexof

0 голосов
/ 09 апреля 2020
import java.util.Scanner;
import java.util.*;
public class bracketMatch {

    public bracketMatch() {
    }


    public static void main (String[] args) {
    Scanner scan = new Scanner(System.in);
    System.out.println("enter seq");
    String[] seq = scan.nextLine().split("");
    ArrayList<String> temp = new ArrayList<>();
    int x = 0;
    String check = null;
    System.out.println(Arrays.toString(seq));   
        for(String brak : seq)
        {
            switch(brak)
            {
                case "(":
                    temp.add("(");

                    break;
                case "[":
                    temp.add("[");

                    break;
                case "{":
                    temp.add("{");

                    break;
                case "<":
                    temp.add("<");

                    break;
                case ")":
                    temp.add( ")");

                    break;
                case "]":
                    temp.add("]");

                    break;
                case "}":
                    temp.add("}");

                    break;
                case ">":
                    temp.add(">");

                    break;


            }

        }


                      x =  temp.lastIndexOf("(");
                        System.out.println( x);
                   /*  if(x != -1)
                     {  
                        temp.remove(check);
                        temp.remove(x);

                        }*/


                      System.out.println(temp.toString()) ;

    }

}

Приведенный выше код предназначен для соответствующих скобок, но я наткнулся на ArrayList метод lastIndexOf.
Однако он не выбирает правильный индекс и работает как indexOf метод.

Стоит ли использовать стек или linkedlist вместо ArrayList?

Кроме того, любая помощь по итерации массива и удалению его элемента, поскольку итератор и foreach выдает ошибку.

1 Ответ

0 голосов
/ 09 апреля 2020

Можете ли вы дать нам больше информации? Метод lastIndexOf работает правильно, он дает вам последнее вхождение объекта в список, он не работает как indexOf. Если вы хотите удалить последнее вхождение "(" из массива, просто раскомментируйте строку temp.remove (x).

...