рдЕрдЪреНрдЫрд╛ рд╡рд░реНрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╣ рд╕рд╡рд╛рд▓ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХреНрдпрд╛ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, рдЙрдирдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреНрдпрд╛ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдХреНрдпрд╛ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдХрдИ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдХреНрдпрд╛ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА? рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдИ рдиреЗ рдЦреБрдж рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╡рд╛рд▓ рдкреВрдЫреЗред рдореИрдВ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдЙрди рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдЬреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ, рдЖрдкрдХреЛ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЖрджреЗрд╢рд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдк рдХреА рддрд░рд╣ рдПрдХ рд╡рд┐рдзрд┐ рдХреА рдЬрд░реВрд░рдд рд╣реИ
List<String> getElements(String key);
рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдХрднреА-рдХрднреА рдпреЗ рд╕реЗрдЯ рд╡рд┐рд╢рд╛рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдпрд╛ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрдиреНрд╣реЗрдВ рдПрдХ рдмреЗрд╡рдХреВрдл рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдзреАрдореА рд╡реЗрдм рд╕реЗрд╡рд╛ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ)ред рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреГрд╖реНрда рдиреЗрд╡рд┐рдЧреЗрд╢рди рдпрд╛ рд▓реЛрдбрд┐рдВрдЧ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ред рдпрд╣рд╛рдБ, рдХреБрдЫ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрдПрдВрдЧреЗ:
public interface MyCollection { List<String> getElements(String key); String getElement(String key, int index); List<String> getElementsRange(String key, int fromIndex, int toIndex); int getElementsCount(String key); }
рдореИрдВ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдпрд╛ рдореБрдХреНрдд рдХреЛрдб рдореЗрдВ рд╕рдордп-рд╕рдордп рдкрд░ рдРрд╕реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
OpenFire Jabber рд╕рд░реНрд╡рд░ рдореЗрдВ
UserProvider рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЗрд╕рдореЗрдВ getUsers, рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде getUser рдФрд░ getUserCount рд╣реИрдВ; рджреЛ рдлрд╛рдЗрдВрдбрд░реНрд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг)ред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЧреЗрдЯрд╡реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рддреБрдЪреНрдЫ рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
String getElement(String key, int index) { return getElements(key).get(index); } List<String> getElementsRange(String key, int fromIndex, int toIndex) { return getElements(key).subList(fromIndex, toIndex); } int getElementsCount(String key) { return getElements(key).size(); }
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реИ рдХрд┐ рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рд╢реБрдЧрд░ рдХреЗ рд▓рд┐рдП рднреА рдирдП рддрд░реАрдХреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рд╕рдВрджрд┐рдЧреНрдз рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдЕрдиреБрднрд╡рд╣реАрди рдбреЗрд╡рд▓рдкрд░ рдХрд╣рддрд╛ рд╣реИ: тАЬрдпрд╣ рдХреИрд╕рд╛ рд╣реИ, рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдкреВрд░реА рд╕реВрдЪреА рдХреЛ рд▓реМрдЯрд╛ рджреЗрддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдмрдбрд╝реА рд╣реИ рдФрд░ рд╕реНрдореГрддрд┐ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ? рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрдЧрд░ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? тАЭрдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реВрдЪреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рджреГрдврд╝рддрд╛ рд╕реЗ рдХреБрдЫ рдареЛрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдЖрдорддреМрд░ рдкрд░ рдПрд░рд┐рдпрд░ рд▓рд╛рдИрд╕реНрдЯ) рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рд▓реЛрдЧ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╕реВрдЪреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЖрд▓рд╕реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдЖрд▓рд╕реА рд╣реИрдВред
рдпрд╣ рдЖрдкрддреНрддрд┐рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐рдпрд╛рдБ, рдпрджреНрдпрдкрд┐ рд╕реНрдкрд╖реНрдЯ рд▓рд╛рдн рдХреА рдирд╣реАрдВ рд╣реИрдВ, рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдиреБрднрд╡ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддреЗ рд╣реИрдВред рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдирд╛рд╡рд╢реНрдпрдХ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреБрдж рдХреЛ рдПрдХ рдЖрд▓рд╕реА рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдХрд┐рдП рдмрд┐рдирд╛, рдЧреЗрдЯрд╡реЗ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ ArrayList рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХреЗ рд╣рдХрджрд╛рд░ рд╕рдордЭреЗрдВрдЧреЗред рдирддреАрдЬрддрди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, getElements (рдХреБрдВрдЬреА) .size () рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ getElementsCount (рдХреБрдВрдЬреА) рдХреЗ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдорд╛рди рд▓реАрдЬрд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдпреБрдХреНрдд рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ, рдкрд╣рд▓реЗ рдХреБрдЫ рдФрд░ рджреАрд░реНрдШрд╡реГрддреНрдд (рдпрджрд┐ рдЕрдзрд┐рдХ рддрддреНрд╡ рд╣реИрдВ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
[100500] First, second, third...
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
public static String getSummary(List<String> list) { StringBuilder sb = new StringBuilder(); int size = list.size(); sb.append('[').append(size).append("] "); int maxElements = Math.min(3, size); for(int i=0; i<maxElements; i++) sb.append(i==0?"":", ").append(list.get(i)); if(maxElements < size) sb.append("..."); return sb.toString(); }
рдФрд░ рдЖрдк рд╢рд╛рдВрддрд┐ рд╕реЗ getSummary (myCollection.getElements (рдХреБрдВрдЬреА)) рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрдИ рдЖрд▓рд╕реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ, рдФрд░ рдЬреАрд╡рди рдЬрдЯрд┐рд▓ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрджрд╕реВрд░рдд рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рддрд░реАрдХреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рдПрдХ рдЧреЗрдЯрд╕реНрдорд░реА (MyCollection рд╕рдВрдЧреНрд░рд╣, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреБрдВрдЬреА) рд╡рд┐рдзрд┐ рдмрдирд╛рдирд╛ рд╣реИред рдПрдХ рд╕реБрдВрджрд░ рд╕реНрд╡рддрдВрддреНрд░ рд╡рд┐рдзрд┐ рд╕реЗ рдЬрд┐рд╕рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╕рдВрдЧреНрд░рд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдм рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ getSummary (int count, List firstThreeElements) рдореЗрдердб рдмрдирд╛рдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ getSummary (myCollection.getElementsCount (key), myCollection .getElementsRange (key, 0, 3)) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрдм рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЬреБрдбрд╝реА рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рднреА рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рдФрд░ рднреА рдмреБрд░рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдзрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдВрддрд┐рдо рддрддреНрд╡ рдХреЛ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:
[100500] First, second, third... last
рдкрджреНрдзрддрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рдд, рдЙрди рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЬрд╣рд╛рдВ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рднрдпрд╛рдирдХ рд╣реИред
рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ рдЬреЛ рд╕реВрдЪреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рддрдм рдХреЙрд▓ getSummary (рдирдИ MyCollectionListAdapter (myCollection, key)) рдХреА рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╢реБрд░реВ рд╕реЗ рд╣реА рдЕрдЪреНрдЫрд╛ рдХрд░ рд╕рдХрддреЗ рдереЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ рд╢реБрд░реВ рдореЗрдВ рд╕реАрдорд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЬрд╛рдирдмреВрдЭрдХрд░ List.contains рдпрд╛ List.indexOf рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ MyCollection рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдХрд╣реЛ, рдпрджрд┐ MyCollection рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕реВрдЪреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ SQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИ, рддреЛ рдЗрд╕рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЖрдкрдХреЛ рд╕рднреА рддрддреНрд╡реЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ MyCollection рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХреЗрд╡рд▓ рдЧреЗрдЯ-рд╡реЗ рд╣реИрдВ, рддреЛ рдЬрдм рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдФрд░ рдПрдХ рдЖрд▓рд╕реА рд╕реВрдЪреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдмреЗрд╢рдХ, рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЫреЛрдЯреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдЙрдкреЗрдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ рдЙрди рдЕрдЪреНрдЫреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рдирдХрд▓ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдП рдЧрдП рд╣реИрдВред рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдЕрдЪреНрдЫреЗ рд╕реЗ рдЕрдзрд┐рдХ рдиреБрдХрд╕рд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рдирдХ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рднреА рдбрд░реЛ рдорддред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореИрдк рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП, рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред Java.util рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП AbstractList рдЬреИрд╕реА рд╕рд╣рд╛рдпрдХ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВред