2016-02-15 2 views
0

Предположим, у меня есть два ArrayLists, первый из которых имеет тип ObjectA, второй ObjectB.Как связать два объекта ArrayLists?

Эти переменные Objecta в:

int id; 
double value; 

И эти переменные ObjectB в:

int objAId; 
double disccountValue; 

Как я могу извлечь disccountValue из ObjectB где objAId тот же элемента в первом списке? Так же, как в SQL-запросе, но в ArrayLists.

+0

цикл, может быть ? –

+0

Возможный дубликат [Объединение двух списков arrayLists в новый массивList без дубликатов и по порядку в Java] (http://stackoverflow.com/questions/9917787/merging-two-arraylists-into-a-new-arraylist- with-no-duplicates-and-in-order-in) – jsoberg

+0

Вы можете переопределить метод equals и получить индекс объекта, который содержит значение. ifContains() и indexOf() –

ответ

0

Если вы пытаетесь получить значение для каждого объекта A:

for(ObjectA objA : arrayListOfObjectAs){ 
    int id = objA.id; 
    for(ObjectB objB : arrayListOfObjectBs){ 
     if(id == objB.objAId){ 
      //do what you want with the objB.discountValue here 
     break; 
     } 
    } 
} 

Если вы ищете только для одного идентификатора вы можете избавиться от этого внешнего контура для

Смежные вопросы