Iterator myIterator = masterList.iterator(); List finalList = new ArrayList(); int magicNumber = 0; while(myIterator.hasNext()) { ArrayList stores = (ArrayList)myIterator.next(); for(int i = 0;i < stores.size();i++) { List nextList = (ArrayList)myIterator.next(); if(nextList.contains(stores.get(i))) { magicNumber++; } if(magicNumber == stores.size()) { finalList.add(stores.get(i)); } } }