For completeness' sake: A set can also be ordered:
https://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html

Gary

On Tue, Jan 12, 2016 at 4:09 AM, Mikael Ståldal <[email protected]>
wrote:

> List is a Collection with the additional semantics of being ordered. Set
> is a Collection with the additional semantics of having no duplicates.
>
> So is the order of the plugins significant? If not it should be Collection
> or Iterable (or possibly Set) rather than List. If the order is
> significant, we should keep it as List.
>
> On Tue, Jan 12, 2016 at 12:59 PM, Mikael Ståldal <
> [email protected]> wrote:
>
>> If you want it more generic, it should be Iterable rather than Iterator.
>>
>> On Tue, Jan 12, 2016 at 6:34 AM, sampath kumar <[email protected]>
>> wrote:
>>
>>> You Can still achieve enhanced for loop using iterator by using
>>> following modification.
>>>
>>> I apologize if this thread going in different context. We can go with
>>> either List or Set depending on the Requirement.
>>>
>>> *Code Snippet:*
>>>
>>> import java.util.HashSet;
>>> import java.util.Iterator;
>>> import java.util.Set;
>>>
>>> public class PluginIterator implements Iterable<PluginIterator.Plugin> {
>>>
>>>   static class Plugin {
>>>     String name;
>>>     Plugin(String name) {
>>>       this.name = name;
>>>     }
>>>     public String toString() {
>>>       return "Plugin{" + name + "}";
>>>     }
>>>   }
>>>
>>>   Set<Plugin> set = new HashSet<Plugin>();
>>>
>>>   public void addPenguin(Plugin p) {
>>>     set.add(p);
>>>   }
>>>
>>>   public Iterator<Plugin> getPlugins() {
>>>     return set.iterator();
>>>   }
>>>
>>>   public Iterator<Plugin> iterator() {
>>>     return getPlugins();
>>>   }
>>>
>>>   public static void main(String args[]) {
>>> PluginIterator pluginIterators = new PluginIterator();
>>> Plugin plugin1 = new Plugin("Plugin-1");
>>> Plugin plugin2 = new Plugin("Plugin-2");
>>> Plugin plugin3 = new Plugin("Plugin-3");
>>> Plugin plugin4 = new Plugin("Plugin-4");
>>> pluginIterators.addPenguin(plugin1);
>>> pluginIterators.addPenguin(plugin2);
>>> pluginIterators.addPenguin(plugin3);
>>> pluginIterators.addPenguin(plugin4);
>>>     for (Plugin p : pluginIterators) {
>>>       System.out.println(p);
>>>     }
>>>   }
>>> }
>>>
>>> On Tue, Jan 12, 2016 at 10:24 AM, Gary Gregory <[email protected]>
>>> wrote:
>>>
>>>> I dislike this iterator business very much, and you can't use it in a
>>>> for each loop.
>>>>
>>>> Gary
>>>>
>>>> On Mon, Jan 11, 2016 at 8:46 PM, sampath kumar <[email protected]>
>>>> wrote:
>>>>
>>>>> How about this, Unmodifiable Iterator
>>>>>
>>>>> Iterator<String> getPluginPackages();
>>>>>
>>>>> On Tue, Jan 12, 2016 at 9:50 AM, Gary Gregory <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> List<String> getPluginPackages();
>>>>>>
>>>>>> G
>>>>>>
>>>>>> On Mon, Jan 11, 2016 at 8:12 PM, Paul Benedict <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Thu can only use Set if you have a notion of equality and
>>>>>>> comparison. Do you for this collection?
>>>>>>> On Jan 11, 2016 9:48 PM, "Gary Gregory" <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Well, not really, I'd like to express whether the collection allows
>>>>>>>> for duplicates or not, if not, use a set.
>>>>>>>>
>>>>>>>> Gary
>>>>>>>>
>>>>>>>> On Mon, Jan 11, 2016 at 7:08 PM, Matt Sicker <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Even a Collection works well for this.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Monday, 11 January 2016, Gary Gregory <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> On Mon, Jan 11, 2016 at 5:19 PM, Ralph Goers <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> It is returning a List already.  Does it really matter much?
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> It is not indeed critical. It's just a finer point of declaring
>>>>>>>>>> the intention of the data model, either duplicates are allowed and
>>>>>>>>>> expected, or not.
>>>>>>>>>>
>>>>>>>>>> Gary
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Ralph
>>>>>>>>>>>
>>>>>>>>>>> On Jan 11, 2016, at 6:04 PM, Gary Gregory <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Should APIs like:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> org.apache.logging.log4j.core.config.Configuration.getPluginPackages()
>>>>>>>>>>>
>>>>>>>>>>> really return a List instead of a Set?
>>>>>>>>>>>
>>>>>>>>>>> Gary
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> E-Mail: [email protected] | [email protected]
>>>>>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>>>>>> <http://www.manning.com/bauer3/>
>>>>>>>>>>> JUnit in Action, Second Edition
>>>>>>>>>>> <http://www.manning.com/tahchiev/>
>>>>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>>>>>>> Blog: http://garygregory.wordpress.com
>>>>>>>>>>> Home: http://garygregory.com/
>>>>>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> E-Mail: [email protected] | [email protected]
>>>>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>>>>> <http://www.manning.com/bauer3/>
>>>>>>>>>> JUnit in Action, Second Edition
>>>>>>>>>> <http://www.manning.com/tahchiev/>
>>>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>>>>>> Blog: http://garygregory.wordpress.com
>>>>>>>>>> Home: http://garygregory.com/
>>>>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Matt Sicker <[email protected]>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> E-Mail: [email protected] | [email protected]
>>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>>> <http://www.manning.com/bauer3/>
>>>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>>>> Blog: http://garygregory.wordpress.com
>>>>>>>> Home: http://garygregory.com/
>>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> E-Mail: [email protected] | [email protected]
>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>> <http://www.manning.com/bauer3/>
>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>> Blog: http://garygregory.wordpress.com
>>>>>> Home: http://garygregory.com/
>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Sampath
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> E-Mail: [email protected] | [email protected]
>>>> Java Persistence with Hibernate, Second Edition
>>>> <http://www.manning.com/bauer3/>
>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>> Blog: http://garygregory.wordpress.com
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
>>>>
>>>
>>>
>>>
>>> --
>>> Regards,
>>> Sampath
>>>
>>
>>
>>
>> --
>> [image: MagineTV]
>>
>> *Mikael Ståldal*
>> Senior software developer
>>
>> *Magine TV*
>> [email protected]
>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>
>> Privileged and/or Confidential Information may be contained in this
>> message. If you are not the addressee indicated in this message
>> (or responsible for delivery of the message to such a person), you may
>> not copy or deliver this message to anyone. In such case,
>> you should destroy this message and kindly notify the sender by reply
>> email.
>>
>
>
>
> --
> [image: MagineTV]
>
> *Mikael Ståldal*
> Senior software developer
>
> *Magine TV*
> [email protected]
> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>
> Privileged and/or Confidential Information may be contained in this
> message. If you are not the addressee indicated in this message
> (or responsible for delivery of the message to such a person), you may not
> copy or deliver this message to anyone. In such case,
> you should destroy this message and kindly notify the sender by reply
> email.
>



-- 
E-Mail: [email protected] | [email protected]
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to