Three reasons
1. Compact bytecode
2. Custom FastList instead of the ArrayList; avoid each get () call should be carried out range check, from start to finish avoid scanning when calling Remove ();
3. optimizing code and interceptors
1. Compact bytecode
2. Custom FastList instead of the ArrayList; avoid each get () call should be carried out range check, from start to finish avoid scanning when calling Remove ();
3. optimizing code and interceptors