What about NavigableSet? ;)

On 12 January 2016 at 13:57, Gary Gregory <[email protected]> wrote:

> 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
>



-- 
Matt Sicker <[email protected]>

Reply via email to