<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FCollections%2FAbstract_Set</id>
		<title>Java Tutorial/Collections/Abstract Set - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FCollections%2FAbstract_Set"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/Abstract_Set&amp;action=history"/>
		<updated>2026-04-19T07:07:17Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/Abstract_Set&amp;diff=4686&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/Abstract_Set&amp;diff=4686&amp;oldid=prev"/>
				<updated>2010-06-01T05:04:29Z</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;Версия 05:04, 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://www.jexp.ru/index.php?title=Java_Tutorial/Collections/Abstract_Set&amp;diff=4685&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/Abstract_Set&amp;diff=4685&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</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;==  AbstractSet Class ==&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;
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;
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;
    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;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    String elements[] = { &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;, &amp;quot;E&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;
}&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;
&amp;lt;pre class=codeResult&amp;gt;A&lt;br /&gt;
B&lt;br /&gt;
C&lt;br /&gt;
D&lt;br /&gt;
E&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  One Item 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;
/* $Id$&lt;br /&gt;
 *&lt;br /&gt;
 * Behavior Protocols Tools - Parsers, Transformations&lt;br /&gt;
 * Copyright (C) 2006-2007  DSRG, Charles University in Prague&lt;br /&gt;
 *                          http://dsrg.mff.cuni.cz/&lt;br /&gt;
 *&lt;br /&gt;
 * This library is free software; you can redistribute it and/or&lt;br /&gt;
 * modify it under the terms of the GNU Lesser General Public&lt;br /&gt;
 * License as published by the Free Software Foundation; either&lt;br /&gt;
 * version 2.1 of the License, or (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This library 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 GNU&lt;br /&gt;
 * Lesser General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public&lt;br /&gt;
 * License along with this library; if not, write to the Free Software&lt;br /&gt;
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,&lt;br /&gt;
 * MA 02110-1301 USA&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.AbstractCollection;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.NoSuchElementException;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 *&lt;br /&gt;
 * @author thorm&lt;br /&gt;
 */&lt;br /&gt;
public class OneItemSet&amp;lt;E&amp;gt; extends AbstractCollection&amp;lt;E&amp;gt; implements Serializable{&lt;br /&gt;
    &lt;br /&gt;
    public boolean add(E i) {&lt;br /&gt;
        if (item == i) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
        if (item == null) {&lt;br /&gt;
            item = i;&lt;br /&gt;
            return true;&lt;br /&gt;
        }&lt;br /&gt;
        throw new IllegalArgumentException();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public Iterator&amp;lt;E&amp;gt; iterator() {&lt;br /&gt;
        return new Iterator() {&lt;br /&gt;
            public boolean hasNext() {&lt;br /&gt;
                return hasNxt;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            public E next() {&lt;br /&gt;
                if (hasNxt) {&lt;br /&gt;
                    hasNxt = false;&lt;br /&gt;
                    return item;&lt;br /&gt;
                }&lt;br /&gt;
                throw new NoSuchElementException();&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            public void remove() {&lt;br /&gt;
                item = null;&lt;br /&gt;
            }&lt;br /&gt;
            boolean hasNxt = true;&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public int size() {&lt;br /&gt;
        return (item == null) ? 0 : 1;&lt;br /&gt;
    }&lt;br /&gt;
    public int hashCode() {&lt;br /&gt;
        return item.hashCode();&lt;br /&gt;
    }&lt;br /&gt;
    public boolean equals(Object o) {&lt;br /&gt;
        return (o instanceof OneItemSet) &amp;amp;&amp;amp; item.equals(((OneItemSet) o).item);&lt;br /&gt;
    }&lt;br /&gt;
            &lt;br /&gt;
    E item;&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;
==  Things you can do with Sets ==&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;
import java.util.Arrays;&lt;br /&gt;
import java.util.HashSet;&lt;br /&gt;
import java.util.LinkedHashSet;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
import java.util.TreeSet;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  static void fill(Set s) {&lt;br /&gt;
    s.addAll(Arrays.asList(&amp;quot;one two three four five six seven&amp;quot;.split(&amp;quot; &amp;quot;)));&lt;br /&gt;
  }&lt;br /&gt;
  public static void test(Set s) {&lt;br /&gt;
    System.out.println(s.getClass().getName().replaceAll(&amp;quot;\\w+\\.&amp;quot;, &amp;quot;&amp;quot;));&lt;br /&gt;
    fill(s);&lt;br /&gt;
    fill(s);&lt;br /&gt;
    fill(s);&lt;br /&gt;
    System.out.println(s); // No duplicates!&lt;br /&gt;
    s.addAll(s);&lt;br /&gt;
    s.add(&amp;quot;one&amp;quot;);&lt;br /&gt;
    s.add(&amp;quot;one&amp;quot;);&lt;br /&gt;
    s.add(&amp;quot;one&amp;quot;);&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
    System.out.println(&amp;quot;s.contains(\&amp;quot;one\&amp;quot;): &amp;quot; + s.contains(&amp;quot;one&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    test(new HashSet());&lt;br /&gt;
    test(new TreeSet());&lt;br /&gt;
    test(new LinkedHashSet());&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;
&amp;lt;pre class=codeResult&amp;gt;HashSet&lt;br /&gt;
[one, two, five, four, three, seven, six]&lt;br /&gt;
[one, two, five, four, three, seven, six]&lt;br /&gt;
s.contains(&amp;quot;one&amp;quot;): true&lt;br /&gt;
TreeSet&lt;br /&gt;
[five, four, one, seven, six, three, two]&lt;br /&gt;
[five, four, one, seven, six, three, two]&lt;br /&gt;
s.contains(&amp;quot;one&amp;quot;): true&lt;br /&gt;
LinkedHashSet&lt;br /&gt;
[one, two, three, four, five, six, seven]&lt;br /&gt;
[one, two, three, four, five, six, seven]&lt;br /&gt;
s.contains(&amp;quot;one&amp;quot;): true&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>