#java #search #arraylist
#java #Поиск #arraylist
Вопрос:
Я добавляю в свой список массивов тип данных и имя функции, например. введите «func», но каждый раз, когда я хочу добавить его в список, я также хочу проверить, существует ли эта «функция», игнорируя «int», потому что многие функции могут иметь один и тот же тип данных, но не могут иметь одно и то же имя. Как бы я решил это, используя Arraylist java
Идентификаторами будут, например, «func» d.func — это мой массив имен функций
String IDs = tokM1(E).getToken();
String IDs2 = tokM2(E).getToken();
d.func.add(IDs);
d.func.add(IDs2);
for (int i=0; i> d.func.size();){
//search array to find duplicates of IDs ignoring IDs2(ex. int), if duplicates found then reject (reject method written)
//reject();
}
Ожидал бы, что он отклонит, если будут найдены повторяющиеся значения для найденных идентификаторов, но игнорируется тип данных (IDs2)
Ответ №1:
Если я правильно интерпретирую, вы добавляете имя функции сначала в свой ArrayList, а затем тип данных в тот же ArrayList. Если это так, вы могли бы проверить ArrayList на наличие идентификаторов, прежде чем добавлять их в ArrayList. Вы могли бы создать цикл for для обхода каждого второго элемента, начинающегося с индекса 0:
String IDs = tokM1(E).getToken();
String IDs2 = tokM2(E).getToken();
boolean isDuplicate = false;
for (int i = 0; i < d.func.size(); i = i 2) {
if(d.func.get(i).contentEquals(IDs)) {
isDuplicate = true;
break;
}
}
if (!isDuplicate) {
d.func.add(IDs);
d.func.add(IDs2);
}