<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FCollections_Data_Structure%2FArray_Collections</id>
		<title>Java/Collections Data Structure/Array Collections - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FCollections_Data_Structure%2FArray_Collections"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Collections_Data_Structure/Array_Collections&amp;action=history"/>
		<updated>2026-05-20T00:22:00Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Collections_Data_Structure/Array_Collections&amp;diff=9071&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Collections_Data_Structure/Array_Collections&amp;diff=9071&amp;oldid=prev"/>
				<updated>2010-06-01T07:24:04Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:24, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Collections_Data_Structure/Array_Collections&amp;diff=9070&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Collections_Data_Structure/Array_Collections&amp;diff=9070&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== ArrayEnumeration class (implements Enumeration) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.lang.reflect.Array;&lt;br /&gt;
import java.util.Enumeration;&lt;br /&gt;
public class ArrayEnumeration implements Enumeration {&lt;br /&gt;
  private final int size;&lt;br /&gt;
  private int cursor;&lt;br /&gt;
  private final Object array;&lt;br /&gt;
  public ArrayEnumeration(Object obj) {&lt;br /&gt;
    Class type = obj.getClass();&lt;br /&gt;
    if (!type.isArray()) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;Invalid type: &amp;quot; + type);&lt;br /&gt;
    }&lt;br /&gt;
    size = Array.getLength(obj);&lt;br /&gt;
    array = obj;&lt;br /&gt;
  }&lt;br /&gt;
  public boolean hasMoreElements() {&lt;br /&gt;
    return (cursor &amp;lt; size);&lt;br /&gt;
  }&lt;br /&gt;
  public Object nextElement() {&lt;br /&gt;
    return Array.get(array, cursor++);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Object obj = new int[] { 2, 3, 5, 8, 13, 21 };&lt;br /&gt;
    ArrayEnumeration e = new ArrayEnumeration(obj);&lt;br /&gt;
    while (e.hasMoreElements()) {&lt;br /&gt;
      System.out.println(e.nextElement());&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      e = new ArrayEnumeration(ArrayEnumeration.class);&lt;br /&gt;
    } catch (IllegalArgumentException ex) {&lt;br /&gt;
      System.out.println(ex.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Array Int Set ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 2002-2008 &amp;quot;Neo Technology,&amp;quot;&lt;br /&gt;
 *     Network Engine for Objects in Lund AB [http://neotechnology.ru]&lt;br /&gt;
 *&lt;br /&gt;
 * This file is part of Neo4j.&lt;br /&gt;
 * &lt;br /&gt;
 * Neo4j is free software: you can redistribute it and/or modify&lt;br /&gt;
 * it under the terms of the GNU Affero General Public License as&lt;br /&gt;
 * published by the Free Software Foundation, either version 3 of the&lt;br /&gt;
 * License, or (at your option) any later version.&lt;br /&gt;
 * &lt;br /&gt;
 * This program is distributed in the hope that it will be useful,&lt;br /&gt;
 * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 * GNU Affero General Public License for more details.&lt;br /&gt;
 * &lt;br /&gt;
 * You should have received a copy of the GNU Affero General Public License&lt;br /&gt;
 * along with this program. If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
import java.util.HashSet;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
// use array for first few properties to decrease memory footprint (and&lt;br /&gt;
// to some extent boost performance) for nodes/rels with few properties&lt;br /&gt;
public class ArrayIntSet&lt;br /&gt;
{&lt;br /&gt;
    private int maxRelSize = 256;&lt;br /&gt;
    private int[] rels = new int[2];&lt;br /&gt;
    // TODO: figure out if we need volatile here?&lt;br /&gt;
    private int arrayCount = 0;&lt;br /&gt;
    private Set&amp;lt;Integer&amp;gt; relationshipSet = null;&lt;br /&gt;
    public boolean add( int id )&lt;br /&gt;
    {&lt;br /&gt;
        for ( int i = 0; i &amp;lt; arrayCount; i++ )&lt;br /&gt;
        {&lt;br /&gt;
            if ( rels[i] == id )&lt;br /&gt;
            {&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        if ( arrayCount == rels.length &amp;amp;&amp;amp; rels.length * 2 &amp;lt;= maxRelSize )&lt;br /&gt;
        {&lt;br /&gt;
            int newRels[] = new int[rels.length * 2];&lt;br /&gt;
            System.arraycopy( rels, 0, newRels, 0, rels.length );&lt;br /&gt;
            rels = newRels;&lt;br /&gt;
        }&lt;br /&gt;
        if ( arrayCount != -1 )&lt;br /&gt;
        {&lt;br /&gt;
            if ( arrayCount &amp;lt; rels.length )&lt;br /&gt;
            {&lt;br /&gt;
                rels[arrayCount++] = id;&lt;br /&gt;
                return true;&lt;br /&gt;
            }&lt;br /&gt;
            relationshipSet = new HashSet&amp;lt;Integer&amp;gt;();&lt;br /&gt;
            for ( int i = 0; i &amp;lt; arrayCount; i++ )&lt;br /&gt;
            {&lt;br /&gt;
                relationshipSet.add( rels[i] );&lt;br /&gt;
            }&lt;br /&gt;
            arrayCount = -1;&lt;br /&gt;
        }&lt;br /&gt;
        return relationshipSet.add( id );&lt;br /&gt;
    }&lt;br /&gt;
    public Iterator&amp;lt;Integer&amp;gt; iterator()&lt;br /&gt;
    {&lt;br /&gt;
        if ( arrayCount == -1 )&lt;br /&gt;
        {&lt;br /&gt;
            return relationshipSet.iterator();&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayIntIterator( rels, arrayCount );&lt;br /&gt;
    }&lt;br /&gt;
    public boolean remove( int id )&lt;br /&gt;
    {&lt;br /&gt;
        for ( int i = 0; i &amp;lt; arrayCount; i++ )&lt;br /&gt;
        {&lt;br /&gt;
            if ( rels[i] == id )&lt;br /&gt;
            {&lt;br /&gt;
                int[] dest = rels;&lt;br /&gt;
                if ( arrayCount - 1 &amp;lt; rels.length / 3 )&lt;br /&gt;
                {&lt;br /&gt;
                    dest = new int[rels.length / 2];&lt;br /&gt;
                    System.arraycopy( rels, 0, dest, 0, arrayCount );&lt;br /&gt;
                }&lt;br /&gt;
                if ( i + 1 &amp;lt; dest.length &amp;amp;&amp;amp; (arrayCount - i - 1) &amp;gt; 0 )&lt;br /&gt;
                {&lt;br /&gt;
                    System.arraycopy( rels, i + 1, dest, i, arrayCount - i - 1 );&lt;br /&gt;
                    rels = dest;&lt;br /&gt;
                }&lt;br /&gt;
                arrayCount--;&lt;br /&gt;
                return true;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        if ( arrayCount == -1 )&lt;br /&gt;
        {&lt;br /&gt;
            return relationshipSet.remove( id );&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    public Iterable&amp;lt;Integer&amp;gt; values()&lt;br /&gt;
    {&lt;br /&gt;
        if ( arrayCount == -1 )&lt;br /&gt;
        {&lt;br /&gt;
            return relationshipSet;&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayIntIterator( rels, arrayCount );&lt;br /&gt;
    }&lt;br /&gt;
    private static class ArrayIntIterator implements Iterator&amp;lt;Integer&amp;gt;,&lt;br /&gt;
        Iterable&amp;lt;Integer&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        private int[] intArray;&lt;br /&gt;
        private int pos = -1;&lt;br /&gt;
        private int arrayCount;&lt;br /&gt;
        ArrayIntIterator( int[] array, int count )&lt;br /&gt;
        {&lt;br /&gt;
            this.intArray = array;&lt;br /&gt;
            this.arrayCount = count;&lt;br /&gt;
        }&lt;br /&gt;
        public boolean hasNext()&lt;br /&gt;
        {&lt;br /&gt;
            return pos + 1 &amp;lt; arrayCount;&lt;br /&gt;
        }&lt;br /&gt;
        public Integer next()&lt;br /&gt;
        {&lt;br /&gt;
            return intArray[++pos];&lt;br /&gt;
        }&lt;br /&gt;
        public void remove()&lt;br /&gt;
        {&lt;br /&gt;
            throw new UnsupportedOperationException();&lt;br /&gt;
        }&lt;br /&gt;
        public Iterator&amp;lt;Integer&amp;gt; iterator()&lt;br /&gt;
        {&lt;br /&gt;
            return this;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public boolean contains( int id )&lt;br /&gt;
    {&lt;br /&gt;
        for ( int i = 0; i &amp;lt; arrayCount; i++ )&lt;br /&gt;
        {&lt;br /&gt;
            if ( rels[i] == id )&lt;br /&gt;
            {&lt;br /&gt;
                return true;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        if ( arrayCount == -1 )&lt;br /&gt;
        {&lt;br /&gt;
            return relationshipSet.contains( id );&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    public int size()&lt;br /&gt;
    {&lt;br /&gt;
        if ( arrayCount != -1 )&lt;br /&gt;
        {&lt;br /&gt;
            return arrayCount;&lt;br /&gt;
        }&lt;br /&gt;
        return relationshipSet.size();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Array Set ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
/* Copyright (c) 2006, 2009, Carl Burch. License information is located in the&lt;br /&gt;
 * com.cburch.logisim.Main source code and at www.cburch.ru/logisim/. */&lt;br /&gt;
 &lt;br /&gt;
import java.util.AbstractSet;&lt;br /&gt;
import java.util.ConcurrentModificationException;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.NoSuchElementException;&lt;br /&gt;
public class ArraySet extends AbstractSet {&lt;br /&gt;
    private static final Object[] EMPTY_ARRAY = new Object[0];&lt;br /&gt;
    &lt;br /&gt;
    private class ArrayIterator implements Iterator {&lt;br /&gt;
        int itVersion = version;&lt;br /&gt;
        int pos = 0; // position of next item to return&lt;br /&gt;
        boolean hasNext = values.length &amp;gt; 0;&lt;br /&gt;
        boolean removeOk = false;&lt;br /&gt;
        &lt;br /&gt;
        public boolean hasNext() {&lt;br /&gt;
            return hasNext;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        public Object next() {&lt;br /&gt;
            if(itVersion != version) {&lt;br /&gt;
                throw new ConcurrentModificationException();&lt;br /&gt;
            } else if(!hasNext) {&lt;br /&gt;
                throw new NoSuchElementException();&lt;br /&gt;
            } else {&lt;br /&gt;
                Object ret = values[pos];&lt;br /&gt;
                ++pos;&lt;br /&gt;
                hasNext = pos &amp;lt; values.length;&lt;br /&gt;
                removeOk = true;&lt;br /&gt;
                return ret;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        public void remove() {&lt;br /&gt;
            if(itVersion != version) {&lt;br /&gt;
                throw new ConcurrentModificationException();&lt;br /&gt;
            } else if(!removeOk) {&lt;br /&gt;
                throw new IllegalStateException();&lt;br /&gt;
            } else if(values.length == 1) {&lt;br /&gt;
                values = EMPTY_ARRAY;&lt;br /&gt;
                ++version;&lt;br /&gt;
                itVersion = version;&lt;br /&gt;
                removeOk = false;&lt;br /&gt;
            } else {&lt;br /&gt;
                Object[] newValues = new Object[values.length - 1];&lt;br /&gt;
                if(pos &amp;gt; 1) {&lt;br /&gt;
                    System.arraycopy(values, 0, newValues, 0, pos - 1);&lt;br /&gt;
                }&lt;br /&gt;
                if(pos &amp;lt; values.length) {&lt;br /&gt;
                    System.arraycopy(values, pos, newValues, pos - 1, values.length - pos);&lt;br /&gt;
                }&lt;br /&gt;
                values = newValues;&lt;br /&gt;
                --pos;&lt;br /&gt;
                ++version;&lt;br /&gt;
                itVersion = version;&lt;br /&gt;
                removeOk = false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private int version = 0;&lt;br /&gt;
    private Object[] values = EMPTY_ARRAY;&lt;br /&gt;
    &lt;br /&gt;
    public ArraySet() { }&lt;br /&gt;
    &lt;br /&gt;
    public Object[] toArray() {&lt;br /&gt;
        return values;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public Object clone() {&lt;br /&gt;
        ArraySet ret = new ArraySet();&lt;br /&gt;
        if(this.values == EMPTY_ARRAY) {&lt;br /&gt;
            ret.values = EMPTY_ARRAY;&lt;br /&gt;
        } else {&lt;br /&gt;
            ret.values = (Object[]) this.values.clone();&lt;br /&gt;
        }&lt;br /&gt;
        return ret;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void clear() {&lt;br /&gt;
        values = EMPTY_ARRAY;&lt;br /&gt;
        ++version;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public boolean isEmpty() {&lt;br /&gt;
        return values.length == 0;&lt;br /&gt;
    }&lt;br /&gt;
    public int size() {&lt;br /&gt;
        return values.length;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public boolean add(Object value) {&lt;br /&gt;
        int n = values.length;&lt;br /&gt;
        for(int i = 0; i &amp;lt; n; i++) {&lt;br /&gt;
            if(values[i].equals(value)) return false;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        Object[] newValues = new Object[n + 1];&lt;br /&gt;
        System.arraycopy(values, 0, newValues, 0, n);&lt;br /&gt;
        newValues[n] = value;&lt;br /&gt;
        values = newValues;&lt;br /&gt;
        ++version;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public boolean contains(Object value) {&lt;br /&gt;
        for(int i = 0, n = values.length; i &amp;lt; n; i++) {&lt;br /&gt;
            if(values[i].equals(value)) return true;&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    public Iterator iterator() {&lt;br /&gt;
        return new ArrayIterator();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static void main(String[] args) throws java.io.IOException {&lt;br /&gt;
        ArraySet set = new ArraySet();&lt;br /&gt;
        java.io.BufferedReader in = new java.io.BufferedReader(&lt;br /&gt;
                new java.io.InputStreamReader(System.in));&lt;br /&gt;
        while(true) {&lt;br /&gt;
            System.out.print(set.size() + &amp;quot;:&amp;quot;); //OK&lt;br /&gt;
            for(Iterator it = set.iterator(); it.hasNext(); ) {&lt;br /&gt;
                System.out.print(&amp;quot; &amp;quot; + it.next()); //OK&lt;br /&gt;
            }&lt;br /&gt;
            System.out.println(); //OK&lt;br /&gt;
            System.out.print(&amp;quot;&amp;gt; &amp;quot;); //OK&lt;br /&gt;
            String cmd = in.readLine();&lt;br /&gt;
            if(cmd == null) break;&lt;br /&gt;
            cmd = cmd.trim();&lt;br /&gt;
            if(cmd.equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
                ;&lt;br /&gt;
            } else if(cmd.startsWith(&amp;quot;+&amp;quot;)) {&lt;br /&gt;
                set.add(cmd.substring(1));&lt;br /&gt;
            } else if(cmd.startsWith(&amp;quot;-&amp;quot;)) {&lt;br /&gt;
                set.remove(cmd.substring(1));&lt;br /&gt;
            } else if(cmd.startsWith(&amp;quot;?&amp;quot;)) {&lt;br /&gt;
                boolean ret = set.contains(cmd.substring(1));&lt;br /&gt;
                System.out.println(&amp;quot;  &amp;quot; + ret); //OK&lt;br /&gt;
            } else {&lt;br /&gt;
                System.out.println(&amp;quot;unrecognized command&amp;quot;); //OK&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Convert an Array to a List ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class Main {&lt;br /&gt;
    &lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        String[] cars = {&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;};&lt;br /&gt;
        List&amp;lt;String&amp;gt; carList = Arrays.asList(cars);&lt;br /&gt;
 &lt;br /&gt;
        for (String car : carList) {&lt;br /&gt;
            System.out.println(car);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Convert an array to a Map ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import org.apache.rumons.lang.ArrayUtils;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    String[][] countries = { { &amp;quot;United States&amp;quot;, &amp;quot;New York&amp;quot; }, { &amp;quot;United Kingdom&amp;quot;, &amp;quot;London&amp;quot; },&lt;br /&gt;
        { &amp;quot;Netherland&amp;quot;, &amp;quot;Amsterdam&amp;quot; }, { &amp;quot;Japan&amp;quot;, &amp;quot;Tokyo&amp;quot; }, { &amp;quot;France&amp;quot;, &amp;quot;Paris&amp;quot; } };&lt;br /&gt;
    Map countryCapitals = ArrayUtils.toMap(countries);&lt;br /&gt;
    System.out.println(&amp;quot;Capital of Japan is &amp;quot; + countryCapitals.get(&amp;quot;Japan&amp;quot;));&lt;br /&gt;
    System.out.println(&amp;quot;Capital of France is &amp;quot; + countryCapitals.get(&amp;quot;France&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Converting a Collection of String to an Array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Collection;&lt;br /&gt;
public class PlanetSet {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    String names[] = { &amp;quot;Mercury&amp;quot;, &amp;quot;Venus&amp;quot;, &amp;quot;Earth&amp;quot;, &amp;quot;Mars&amp;quot;, &amp;quot;Jupiter&amp;quot;,&lt;br /&gt;
        &amp;quot;Saturn&amp;quot;, &amp;quot;Uranus&amp;quot;, &amp;quot;Neptune&amp;quot;, &amp;quot;Pluto&amp;quot; };&lt;br /&gt;
    Collection planets = new ArrayList();&lt;br /&gt;
    for (int i = 0, n = names.length; i &amp;lt; n; i++) {&lt;br /&gt;
      planets.add(names[i]);&lt;br /&gt;
    }&lt;br /&gt;
    String s[] = (String[]) planets.toArray(new String[0]);&lt;br /&gt;
    for (int i = 0, n = s.length; i &amp;lt; n; i++) {&lt;br /&gt;
      System.out.println(s[i]);&lt;br /&gt;
    }&lt;br /&gt;
    planets.remove(names[3]);&lt;br /&gt;
    System.out.println(names[1] + &amp;quot; &amp;quot; + planets.contains(names[1]));&lt;br /&gt;
    System.out.println(names[3] + &amp;quot; &amp;quot; + planets.contains(names[3]));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Converting a Collection of user objects to an Array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    List list = new ArrayList();&lt;br /&gt;
  &lt;br /&gt;
    Object[] objectArray = list.toArray();&lt;br /&gt;
    MyClass[] array = (MyClass[]) list.toArray(new MyClass[list.size()]);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyClass {&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Converting an Array to a Collection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    int[] array = new int[10];&lt;br /&gt;
    // Fixed-size list&lt;br /&gt;
    List list = Arrays.asList(array);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Converts array into a java.util.Map. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
/* &lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 *  contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
 *  this work for additional information regarding copyright ownership.&lt;br /&gt;
 *  The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
 *  (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
 *  the License.  You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 *  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 *  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 *  See the License for the specific language governing permissions and&lt;br /&gt;
 *  limitations under the License.&lt;br /&gt;
 *&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @author Stephen Colebourne&lt;br /&gt;
 * @author Moritz Petersen&lt;br /&gt;
 * @author &lt;br /&gt;
 * @author Maarten Coene&lt;br /&gt;
 * @since 2.0&lt;br /&gt;
 * @version $Id: ArrayUtils.java 632503 2008-03-01 00:21:52Z ggregory $&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
  // To map&lt;br /&gt;
  //-----------------------------------------------------------------------&lt;br /&gt;
  /**&lt;br /&gt;
   * &amp;lt;p&amp;gt;Converts the given array into a {@link java.util.Map}. Each element of the array&lt;br /&gt;
   * must be either a {@link java.util.Map.Entry} or an Array, containing at least two&lt;br /&gt;
   * elements, where the first element is used as key and the second as&lt;br /&gt;
   * value.&amp;lt;/p&amp;gt;&lt;br /&gt;
   *&lt;br /&gt;
   * &amp;lt;p&amp;gt;This method can be used to initialize:&amp;lt;/p&amp;gt;&lt;br /&gt;
   * &amp;lt;pre&amp;gt;&lt;br /&gt;
   * // Create a Map mapping colors.&lt;br /&gt;
   * Map colorMap = MapUtils.toMap(new String[][] {{&lt;br /&gt;
   *     {&amp;quot;RED&amp;quot;, &amp;quot;#FF0000&amp;quot;},&lt;br /&gt;
   *     {&amp;quot;GREEN&amp;quot;, &amp;quot;#00FF00&amp;quot;},&lt;br /&gt;
   *     {&amp;quot;BLUE&amp;quot;, &amp;quot;#0000FF&amp;quot;}});&lt;br /&gt;
   * &amp;lt;/pre&amp;gt;&lt;br /&gt;
   * &lt;br /&gt;
   * &amp;lt;p&amp;gt;This method returns &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; for a &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; input array.&amp;lt;/p&amp;gt;&lt;br /&gt;
   *&lt;br /&gt;
   * @param array  an array whose elements are either a {@link java.util.Map.Entry} or&lt;br /&gt;
   *  an Array containing at least two elements, may be &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt;&lt;br /&gt;
   * @return a &amp;lt;code&amp;gt;Map&amp;lt;/code&amp;gt; that was created from the array&lt;br /&gt;
   * @throws IllegalArgumentException  if one element of this Array is&lt;br /&gt;
   *  itself an Array containing less then two elements&lt;br /&gt;
   * @throws IllegalArgumentException  if the array contains elements other&lt;br /&gt;
   *  than {@link java.util.Map.Entry} and an Array&lt;br /&gt;
   */&lt;br /&gt;
  public static Map toMap(Object[] array) {&lt;br /&gt;
      if (array == null) {&lt;br /&gt;
          return null;&lt;br /&gt;
      }&lt;br /&gt;
      final Map map = new HashMap((int) (array.length * 1.5));&lt;br /&gt;
      for (int i = 0; i &amp;lt; array.length; i++) {&lt;br /&gt;
          Object object = array[i];&lt;br /&gt;
          if (object instanceof Map.Entry) {&lt;br /&gt;
              Map.Entry entry = (Map.Entry) object;&lt;br /&gt;
              map.put(entry.getKey(), entry.getValue());&lt;br /&gt;
          } else if (object instanceof Object[]) {&lt;br /&gt;
              Object[] entry = (Object[]) object;&lt;br /&gt;
              if (entry.length &amp;lt; 2) {&lt;br /&gt;
                  throw new IllegalArgumentException(&amp;quot;Array element &amp;quot; + i + &amp;quot;, &amp;quot;&amp;quot;&lt;br /&gt;
                      + object&lt;br /&gt;
                      + &amp;quot;&amp;quot;, has a length less than 2&amp;quot;);&lt;br /&gt;
              }&lt;br /&gt;
              map.put(entry[0], entry[1]);&lt;br /&gt;
          } else {&lt;br /&gt;
              throw new IllegalArgumentException(&amp;quot;Array element &amp;quot; + i + &amp;quot;, &amp;quot;&amp;quot;&lt;br /&gt;
                      + object&lt;br /&gt;
                      + &amp;quot;&amp;quot;, is neither of type Map.Entry nor an Array&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
      return map;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom ArrayMap implementation (extends AbstractMap) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.AbstractMap;&lt;br /&gt;
import java.util.AbstractSet;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class ArrayMap extends AbstractMap implements Cloneable, Serializable {&lt;br /&gt;
  static class Entry implements Map.Entry {&lt;br /&gt;
    protected Object key, value;&lt;br /&gt;
    public Entry(Object key, Object value) {&lt;br /&gt;
      this.key = key;&lt;br /&gt;
      this.value = value;&lt;br /&gt;
    }&lt;br /&gt;
    public Object getKey() {&lt;br /&gt;
      return key;&lt;br /&gt;
    }&lt;br /&gt;
    public Object getValue() {&lt;br /&gt;
      return value;&lt;br /&gt;
    }&lt;br /&gt;
    public Object setValue(Object newValue) {&lt;br /&gt;
      Object oldValue = value;&lt;br /&gt;
      value = newValue;&lt;br /&gt;
      return oldValue;&lt;br /&gt;
    }&lt;br /&gt;
    public boolean equals(Object o) {&lt;br /&gt;
      if (!(o instanceof Map.Entry)) {&lt;br /&gt;
        return false;&lt;br /&gt;
      }&lt;br /&gt;
      Map.Entry e = (Map.Entry) o;&lt;br /&gt;
      return (key == null ? e.getKey() == null : key.equals(e.getKey()))&lt;br /&gt;
          &amp;amp;&amp;amp; (value == null ? e.getValue() == null : value.equals(e&lt;br /&gt;
              .getValue()));&lt;br /&gt;
    }&lt;br /&gt;
    public int hashCode() {&lt;br /&gt;
      int keyHash = (key == null ? 0 : key.hashCode());&lt;br /&gt;
      int valueHash = (value == null ? 0 : value.hashCode());&lt;br /&gt;
      return keyHash ^ valueHash;&lt;br /&gt;
    }&lt;br /&gt;
    public String toString() {&lt;br /&gt;
      return key + &amp;quot;=&amp;quot; + value;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private Set entries = null;&lt;br /&gt;
  private ArrayList list;&lt;br /&gt;
  public ArrayMap() {&lt;br /&gt;
    list = new ArrayList();&lt;br /&gt;
  }&lt;br /&gt;
  public ArrayMap(Map map) {&lt;br /&gt;
    list = new ArrayList();&lt;br /&gt;
    putAll(map);&lt;br /&gt;
  }&lt;br /&gt;
  public ArrayMap(int initialCapacity) {&lt;br /&gt;
    list = new ArrayList(initialCapacity);&lt;br /&gt;
  }&lt;br /&gt;
  public Set entrySet() {&lt;br /&gt;
    if (entries == null) {&lt;br /&gt;
      entries = new AbstractSet() {&lt;br /&gt;
        public void clear() {&lt;br /&gt;
          list.clear();&lt;br /&gt;
        }&lt;br /&gt;
        public Iterator iterator() {&lt;br /&gt;
          return list.iterator();&lt;br /&gt;
        }&lt;br /&gt;
        public int size() {&lt;br /&gt;
          return list.size();&lt;br /&gt;
        }&lt;br /&gt;
      };&lt;br /&gt;
    }&lt;br /&gt;
    return entries;&lt;br /&gt;
  }&lt;br /&gt;
  public Object put(Object key, Object value) {&lt;br /&gt;
    int size = list.size();&lt;br /&gt;
    Entry entry = null;&lt;br /&gt;
    int i;&lt;br /&gt;
    if (key == null) {&lt;br /&gt;
      for (i = 0; i &amp;lt; size; i++) {&lt;br /&gt;
        entry = (Entry) (list.get(i));&lt;br /&gt;
        if (entry.getKey() == null) {&lt;br /&gt;
          break;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      for (i = 0; i &amp;lt; size; i++) {&lt;br /&gt;
        entry = (Entry) (list.get(i));&lt;br /&gt;
        if (key.equals(entry.getKey())) {&lt;br /&gt;
          break;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Object oldValue = null;&lt;br /&gt;
    if (i &amp;lt; size) {&lt;br /&gt;
      oldValue = entry.getValue();&lt;br /&gt;
      entry.setValue(value);&lt;br /&gt;
    } else {&lt;br /&gt;
      list.add(new Entry(key, value));&lt;br /&gt;
    }&lt;br /&gt;
    return oldValue;&lt;br /&gt;
  }&lt;br /&gt;
  public Object clone() {&lt;br /&gt;
    return new ArrayMap(this);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Map map = new ArrayMap(13);&lt;br /&gt;
    map.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;4&amp;quot;, &amp;quot;Four&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;5&amp;quot;, &amp;quot;Five&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;6&amp;quot;, &amp;quot;Six&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;7&amp;quot;, &amp;quot;Seven&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;8&amp;quot;, &amp;quot;Eight&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;9&amp;quot;, &amp;quot;Nine&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;10&amp;quot;, &amp;quot;Ten&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;11&amp;quot;, &amp;quot;Eleven&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;12&amp;quot;, &amp;quot;Twelve&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;13&amp;quot;, &amp;quot;Thirteen&amp;quot;);&lt;br /&gt;
    System.out.println(map);&lt;br /&gt;
    System.out.println(map.keySet());&lt;br /&gt;
    System.out.println(map.values());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom ArraySet implementation (extends AbstractSet) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.AbstractSet;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.Collection;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class ArraySet extends AbstractSet implements Cloneable, Serializable {&lt;br /&gt;
  private ArrayList list;&lt;br /&gt;
  public ArraySet() {&lt;br /&gt;
    list = new ArrayList();&lt;br /&gt;
  }&lt;br /&gt;
  public ArraySet(Collection col) {&lt;br /&gt;
    list = new ArrayList();&lt;br /&gt;
    // No need to check for dups if col is a set&lt;br /&gt;
    Iterator itor = col.iterator();&lt;br /&gt;
    if (col instanceof Set) {&lt;br /&gt;
      while (itor.hasNext()) {&lt;br /&gt;
        list.add(itor.next());&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      while (itor.hasNext()) {&lt;br /&gt;
        add(itor.next());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public Iterator iterator() {&lt;br /&gt;
    return list.iterator();&lt;br /&gt;
  }&lt;br /&gt;
  public int size() {&lt;br /&gt;
    return list.size();&lt;br /&gt;
  }&lt;br /&gt;
  public boolean add(Object element) {&lt;br /&gt;
    boolean modified;&lt;br /&gt;
    if (modified = !list.contains(element)) {&lt;br /&gt;
      list.add(element);&lt;br /&gt;
    }&lt;br /&gt;
    return modified;&lt;br /&gt;
  }&lt;br /&gt;
  public boolean remove(Object element) {&lt;br /&gt;
    return list.remove(element);&lt;br /&gt;
  }&lt;br /&gt;
  public boolean isEmpty() {&lt;br /&gt;
    return list.isEmpty();&lt;br /&gt;
  }&lt;br /&gt;
  public boolean contains(Object element) {&lt;br /&gt;
    return list.contains(element);&lt;br /&gt;
  }&lt;br /&gt;
  public void clear() {&lt;br /&gt;
    list.clear();&lt;br /&gt;
  }&lt;br /&gt;
  public Object clone() {&lt;br /&gt;
    try {&lt;br /&gt;
      ArraySet newSet = (ArraySet) super.clone();&lt;br /&gt;
      newSet.list = (ArrayList) list.clone();&lt;br /&gt;
      return newSet;&lt;br /&gt;
    } catch (CloneNotSupportedException e) {&lt;br /&gt;
      throw new InternalError();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    String elements[] = { &amp;quot;Java&amp;quot;, &amp;quot;Source&amp;quot;, &amp;quot;and&amp;quot;,&lt;br /&gt;
        &amp;quot;Support&amp;quot;, &amp;quot;.&amp;quot; };&lt;br /&gt;
    Set set = new ArraySet(Arrays.asList(elements));&lt;br /&gt;
    Iterator iter = set.iterator();&lt;br /&gt;
    while (iter.hasNext()) {&lt;br /&gt;
      System.out.println(iter.next());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remove duplicate element from array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.HashSet;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    // A string array with duplicate values&lt;br /&gt;
    String[] data = { &amp;quot;A&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;D&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;E&amp;quot;, &amp;quot;D&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot; };&lt;br /&gt;
    System.out.println(&amp;quot;Original array         : &amp;quot; + Arrays.toString(data));&lt;br /&gt;
    List&amp;lt;String&amp;gt; list = Arrays.asList(data);&lt;br /&gt;
    Set&amp;lt;String&amp;gt; set = new HashSet&amp;lt;String&amp;gt;(list);&lt;br /&gt;
    System.out.print(&amp;quot;Remove duplicate result: &amp;quot;);&lt;br /&gt;
    String[] result = new String[set.size()];&lt;br /&gt;
    set.toArray(result);&lt;br /&gt;
    for (String s : result) {&lt;br /&gt;
      System.out.print(s + &amp;quot;, &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Treating an Array as an Enumeration ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.lang.reflect.Array;&lt;br /&gt;
import java.util.Enumeration;&lt;br /&gt;
final public class ArrayEnumerationFactory {&lt;br /&gt;
  static public Enumeration makeEnumeration(final Object obj) {&lt;br /&gt;
    Class type = obj.getClass();&lt;br /&gt;
    if (!type.isArray()) {&lt;br /&gt;
      throw new IllegalArgumentException(obj.getClass().toString());&lt;br /&gt;
    } else {&lt;br /&gt;
      return (new Enumeration() {&lt;br /&gt;
        int size = Array.getLength(obj);&lt;br /&gt;
        int cursor;&lt;br /&gt;
        public boolean hasMoreElements() {&lt;br /&gt;
          return (cursor &amp;lt; size);&lt;br /&gt;
        }&lt;br /&gt;
        public Object nextElement() {&lt;br /&gt;
          return Array.get(obj, cursor++);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Enumeration e = makeEnumeration(args);&lt;br /&gt;
    while (e.hasMoreElements()) {&lt;br /&gt;
      System.out.println(e.nextElement());&lt;br /&gt;
    }&lt;br /&gt;
    e = makeEnumeration(new int[] { 1, 3, 4, 5 });&lt;br /&gt;
    while (e.hasMoreElements()) {&lt;br /&gt;
      System.out.println(e.nextElement());&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      e = makeEnumeration(new Double(Math.PI));&lt;br /&gt;
    } catch (IllegalArgumentException ex) {&lt;br /&gt;
      System.err.println(&amp;quot;Can&amp;quot;t enumerate that: &amp;quot; + ex.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>