Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Der Unterschied liegt im Datentyp der jeweiligen Variable. Während man bei List list nur auf die Methoden, die im Interface List definiert sind, zugreifen kann, kann man bei ArrayList list auch sämtliche von ArrayList (zusätzlich) zur Verfügung gestellten Methoden verwenden.
In der Regel ist es gute Praxis
List list = new ArrayList();
an statt
ArrayList list = new ArrayList();
zu verwenden.
Die erste Variante erlaubt beispielsweise das einfache Austauschen der konkreten List Implementierung (Beispielsweise eine LinkedList statt einer ArrayList), was die wartbarkeit erhoeht. Allgemein sollte man sich an die Regel halten immer gegen Interfaces und moeglichst nicht gegen konkrete Typen zu implementieren.