public int compare()

in xstream/src/java/com/thoughtworks/xstream/core/util/PresortedMap.java [171:193]


        public int compare(final K object1, final K object2) {
            if (array == null || list.size() != array.length) {
                @SuppressWarnings("unchecked")
                final Map.Entry<K, V>[] a = new Map.Entry[list.size()];
                if (array != null) {
                    System.arraycopy(array, 0, a, 0, array.length);
                }
                for (int i = array == null ? 0 : array.length; i < list.size(); ++i) {
                    a[i] = list.get(i);
                }
                array = a;
            }
            int idx1 = Integer.MAX_VALUE, idx2 = Integer.MAX_VALUE;
            for (int i = 0; i < array.length && !(idx1 < Integer.MAX_VALUE && idx2 < Integer.MAX_VALUE); ++i) {
                if (idx1 == Integer.MAX_VALUE && object1 == array[i].getKey()) {
                    idx1 = i;
                }
                if (idx2 == Integer.MAX_VALUE && object2 == array[i].getKey()) {
                    idx2 = i;
                }
            }
            return idx1 - idx2;
        }