/** * Convert the set to an array. */ // Overriden, because AbstractCollection implementation relies on constant size. public Object[] toArray() { Object[] result = new Object[size()]; int i = 0; Iterator it = iterator(); for(; it.hasNext(); i++) result[i] = it.next(); // Reallocate array, when some elements have been garbage collected (shouldn't happen often). if(i<result.length) { Object[] result2 = new Object[i]; System.arraycopy(result, 0, result2, 0, i); result = result2; } return result; }
/** * Convert the set to an array. */ // Overriden, because AbstractCollection implementation relies on constant size. public Object[] toArray(Object result[]) { int size = size(); if(result.length<size) result = (Object[])java.lang.reflect.Array.newInstance(result.getClass().getComponentType(), size); int i = 0; Iterator it = iterator(); for(; it.hasNext(); i++) result[i] = it.next(); // Reallocate array, when some elements have been garbage collected (shouldn't happen often). if(i<result.length) { Object[] result2 = (Object[])java.lang.reflect.Array.newInstance(result.getClass().getComponentType(), i); System.arraycopy(result, 0, result2, 0, i); result = result2; } return result; } /**