Jeremias,
actually I had the same reservations (especially about the "last
element", and if you have a real problem with this feel free to revert
this patch. Maybe we could write a simple helper method instead?
static Element getLastElement(List l) ?
Would that disperse your concerns?
Why I did it: For the exact reason that the interface is more
convenient. You are only partially right that LinkedList is the most
efficient interface: I was digging through the LayoutCode, and found
places where a single element list is created:
LinkedList l = new LinkedList()
l.add(element)
return l.
In this case, Collections.singletonList() is MUCH more effective.
AAMOF, on all list where you know the size beforehand (most cases in
the layout, becasue you know that x elemnets are going to result in x
layoutElements) arrayList is more effective.
Background: I discovered that passing back multiple LayoutContexts is
not as easy as I thought, and I need to do some refactoring in the
layout code to ensure this is possible - therefore this (and the last
cleanup). I really need to make the code easier to read before I can
change it.
Max
Am 09.06.2008 um 16:40 schrieb Jeremias Maerki:
Frankly, I'm less than thrilled. I appreciate the good will behind
this
but I'd have appreciated some advance warning, too. My concern is
that:
- ListElement last = (ListElement)contentList.getLast();
is much easier to read and write than:
+ ListElement last = (ListElement) contentList
+ .get(contentList.size() - 1);
When working with element lists constructs like the above are
everywhere.
A linked list IS the most efficient data structure for element
lists. I
generally support using the generic type instead of the specific class
(i.e. List instead of ArrayList), but LinkedList is adding some often
used methods for element lists which improve code readability. I'm
curious what other committers think about this.
On 09.06.2008 16:25:29 Adrian Cumiskey wrote:
This is really good Max, really appreciate what you are trying to
do here. It must have been quite
boring and laborious... but great cleanup work :).
[EMAIL PROTECTED] wrote:
Author: maxberger
Date: Mon Jun 9 07:15:38 2008
New Revision: 665699
URL: http://svn.apache.org/viewvc?rev=665699&view=rev
Log:
Replaced LinkedList with generic List interface
<snip/>
Jeremias Maerki