From 61609ffcd5b78abf426021f97bddc4f7d84d5681 Mon Sep 17 00:00:00 2001 From: "ray.j.greenwell" Date: Fri, 8 Jan 2010 18:47:28 +0000 Subject: [PATCH] Be more efficient if constructed with an Interable. git-svn-id: https://samskivert.googlecode.com/svn/trunk@2689 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- src/java/com/samskivert/util/ArrayIntSet.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/java/com/samskivert/util/ArrayIntSet.java b/src/java/com/samskivert/util/ArrayIntSet.java index 0567744a..ccccee73 100644 --- a/src/java/com/samskivert/util/ArrayIntSet.java +++ b/src/java/com/samskivert/util/ArrayIntSet.java @@ -55,9 +55,17 @@ public class ArrayIntSet extends AbstractIntSet { this(values.size()); _size = values.size(); - Iterator iter = values.iterator(); - for (int ii = 0; iter.hasNext(); ii++) { - _values[ii] = iter.next().intValue(); + if (values instanceof Interable) { + Interator iter = ((Interable) values).interator(); + for (int ii = 0; iter.hasNext(); ii++) { + _values[ii] = iter.nextInt(); + } + + } else { + Iterator iter = values.iterator(); + for (int ii = 0; iter.hasNext(); ii++) { + _values[ii] = iter.next().intValue(); + } } Arrays.sort(_values); removeDuplicates();