Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #26203 > unrolled thread

Re: create an ArrayList + add a first element and return the List in ONE statement possible ?

Started byLew <noone@lewscanon.com>
First post2011-01-27 15:17 -0500
Last post2011-01-27 15:17 -0500
Articles 1 — 1 participant

Back to article view | Back to comp.lang.java.programmer

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: create an ArrayList + add a first element and return the List in ONE statement possible ? Lew <noone@lewscanon.com> - 2011-01-27 15:17 -0500

#26203 — Re: create an ArrayList + add a first element and return the List in ONE statement possible ?

FromLew <noone@lewscanon.com>
Date2011-01-27 15:17 -0500
SubjectRe: create an ArrayList + add a first element and return the List in ONE statement possible ?
Message-ID<ihsjon$hlb$1@news.albasani.net>
Robin Wenger wrote:
>> As the subject said I wonder whether there is really no one-liner for creating an ArrayList + assign of the first element +
>> return the new list. I have expected the following to work in such a way but it does NOT work:
>>
>>    Object77 oneObject = new Object77();
>>    ArrayList<Object77>  lObj = new ArrayList<Object77>(oneObject);
>>
>> The following returns a boolean and not the desired List:
>>
>>    boolean success = (new ArrayListObject77>()).add(oneObject);
>>
>> Any other ideas?
>> Or do I really have to split this simple operation into separate statements?

Why is it a problem to split it into separate statements?

Ian Pilcher wrote:
> There are lots of ways, including:
>
>      ArrayList<Object77>  lObj = new ArrayList<Object77>(
>              Collections.singleton(new Object77()));

The declared type should probably be 'List<Object77>'.

The Javadocs might also lead one to:

  List <Object77> lObj = new ArrayList <Object77>
   ( Arrays.asList( new Object77() ));

or, if you aren't particular about the implementation:

  List <Object77> lObj = Arrays.asList( new Object77() );

which saves a copy operation.

As Ian said, there are many ways.  Know thy API.  The study of the collections 
types is especially rewarding.

http://download.oracle.com/javase/tutorial/collections/index.html

-- 
Lew
Ceci n'est pas une pipe.

[toc] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web