Here you can find the source of equalContent(final Collection> a, final Collection> b)
static public final boolean equalContent(final Collection<?> a, final Collection<?> b)
//package com.java2s; /**/* ww w .jav a2 s.c o m*/ TrakEM2 plugin for ImageJ(C). Copyright (C) 2005-2009 Albert Cardona and Rodney Douglas. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation (http://www.gnu.org/licenses/gpl.txt ) This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. You may contact Albert Cardona at acardona at ini.phys.ethz.ch Institute of Neuroinformatics, University of Zurich / ETH, Switzerland. */ import java.util.Collection; import java.util.Iterator; import java.util.Map; public class Main { /** If both are null will throw an error. */ static public final boolean equalContent(final Collection<?> a, final Collection<?> b) { if ((null == a && null != b) || (null != b && null == b)) return false; if (a.size() != b.size()) return false; for (Iterator<?> ia = a.iterator(), ib = b.iterator(); ia.hasNext();) { if (!ia.next().equals(ib.next())) return false; } return true; } /** If both are null will throw an error. */ static public final boolean equalContent(final Map<?, ?> a, final Map<?, ?> b) { if ((null == a && null != b) || (null != b && null == b)) return false; if (a.size() != b.size()) return false; for (final Map.Entry<?, ?> e : a.entrySet()) { final Object ob = b.get(e.getKey()); if (null != ob && !ob.equals(e.getValue())) return false; if (null != e.getValue() && !e.getValue().equals(ob)) return false; // if both are null that's ok } return true; } }