Boa tarde,
Estou lendo, os links, que foram passados topico a topico…
Do que li e já consegui conferir até aqui, listo abaixo:
Quanto ao FastList, maior_abandonado, esse é o trecho:
import javolution.util.FastList;
private List<File> _armorFiles = new FastList<File>();
Re-vendo o código com um pouco mais de cuidado, encontrei o import, no caso realmente não faz parte dos pacotes padrões do java. Obrigado não havia percebido antes 
Referente ao List, evaristo.blog, a definição que tenho de interface é:
Um conjunto de metodos, atributos. Que ao ser implementado, obriga a classe, que implementou: A ter todos esses “componentes”, como se fosse um contrato de negócios.
Partindo desse principio entendi que: List, armazena os componentes a serem seguidos, e que no caso: o ArrayList é uma classe que implementa a interface(List), no caso ela sim é a classe concreta.
Vou dar uma olhada também em “maps”, ainda não sei o que é e como se usa, vou aproveitar e dar uma pesquisada agora.
Uma outra forma que conheço seria, criar atributos estáticos:
private final String A;
private final String B;
E serem passados para outras classes como parametros. Mas não me pareceu, o procedimento correto.
[]s