E - ãã®ã³ã¬ã¯ã·ã§ã³å
ã®èŠçŽ ã®åpublic interface Collection<E> extends Iterable<E>
BagãŸãã¯ãã«ãã»ãã (éè€èŠçŽ ãæ ŒçŽã§ãããé åºä»ãã®ãªãã³ã¬ã¯ã·ã§ã³)ã¯ããã®ã€ã³ã¿ãã§ãŒã¹ãçŽæ¥å®è£ ããå¿ èŠããããŸãã
æ±çšCollectionå®è£ ã¯ã©ã¹(éåžžããµãã€ã³ã¿ãã§ãŒã¹ãä»ããŠéæ¥çã«Collectionãå®è£ ãã)ã¯ã2ã€ã®ãæšæºãã³ã³ã¹ãã©ã¯ã¿ãæäŸããªããã°ãããŸããã空ã®ã³ã¬ã¯ã·ã§ã³ãäœæããvoid (åŒæ°ãªã)ã³ã³ã¹ãã©ã¯ã¿ãšãCollectionåã®åŒæ°ã1ã€æã¡ããã®åŒæ°ãšåãèŠçŽ ã§æ°ããã³ã¬ã¯ã·ã§ã³ãäœæããã³ã³ã¹ãã©ã¯ã¿ã§ãã ãããã£ãŠãåŸè ã®ã³ã³ã¹ãã©ã¯ã¿ã§ã¯ããŠãŒã¶ãŒã¯ã©ã®ã³ã¬ã¯ã·ã§ã³ã§ãã³ããŒã§ããåžæã®å®è£ åã®ã³ã¬ã¯ã·ã§ã³ãšå®å šã«åãã³ã¬ã¯ã·ã§ã³ãçæã§ããŸãã ãã®èŠçŽã¯çŸ©åä»ããããŠããããã§ã¯ãããŸããã(ã€ã³ã¿ãã§ãŒã¹ã¯ã³ã³ã¹ãã©ã¯ã¿ãæ ŒçŽã§ããªããã)ãJavaãã©ãããã©ãŒã ã»ã©ã€ãã©ãªã«ããããã¹ãŠã®æ±çšCollectionã®å®è£ ã¯ãã®èŠçŽã«æºæ ããŠããŸãã
ãã®ã³ã¬ã¯ã·ã§ã³ããªãã¬ãŒã·ã§ã³ããµããŒãããŠããªãå Žåããã®ã€ã³ã¿ãã§ãŒã¹(åŠçãããã³ã¬ã¯ã·ã§ã³ãä¿®æ£ããã¡ãœãã)ã«å«ãŸããŠãããç Žå£çãªãã¡ãœããã¯ãUnsupportedOperationExceptionãã¹ããŒããããã«æå®ãããŠããŸãã ãã®ãšããåŒåºããã³ã¬ã¯ã·ã§ã³ã«åœ±é¿ãåãŒããªãå Žåããããã®ã¡ãœããã¯UnsupportedOperationExceptionãã¹ããŒããããšããããŸãããå¿
é ã§ã¯ãããŸããã ããšãã°ã远å ãããã³ã¬ã¯ã·ã§ã³ã空ã§ããå Žåã倿Žäžå¯èœãªã³ã¬ã¯ã·ã§ã³ã§addAll(Collection)ãåŒã³åºããšãäŸå€ãã¹ããŒã§ããŸãããå¿
é ã§ã¯ãããŸããã
ã³ã¬ã¯ã·ã§ã³ã®å®è£ ã«ãã£ãŠã¯ãå«ãŸããå¯èœæ§ã®ããèŠçŽ ã«å¶éããããŸãã ããšãã°ãnullèŠçŽ ãçŠæ¢ããå®è£ ããnullèŠçŽ ã®åã«å¶éãããå®è£ ããããŸãã äžé©æ ŒãªèŠçŽ ã远å ããããšãããšãéåžžNullPointerExceptionãŸãã¯ClassCastExceptionã®ãããªéãã§ãã¯äŸå€ãã¹ããŒãããŸãã äžé©æ ŒãªèŠçŽ ãç §äŒããããšãããšãäŸå€ãã¹ããŒãããå Žåãããã falseãè¿ãå ŽåããããŸããåè ã®åäœãå®è¡ããå®è£ ãããã°ãåŸè ã®åäœãå®è¡ããå®è£ ããããŸãã ã»ãšãã©ã®å ŽåãåŠçãå®äºããŠãäžé©æ ŒãªèŠçŽ ã®ã³ã¬ã¯ã·ã§ã³ãžã®æ¿å ¥ãçºçããªããããªäžé©æ ŒãªèŠçŽ ã®åŠçã詊ã¿ããšãå®è£ ã®ãªãã·ã§ã³ã«å¿ããŠäŸå€ãã¹ããŒããããããŸãã¯æ£åžžã«çµäºããŸãã ãã®ã€ã³ã¿ãã§ãŒã¹ã®ä»æ§ã§ã¯ãããããäŸå€ã¯ãä»»æããšèšèŒãããŠããŸãã
ç¬èªã®åæããªã·ãŒã決å®ãããã©ããã¯ãããããã®ã³ã¬ã¯ã·ã§ã³ã«ãã£ãŠç°ãªããŸãã å®è£ ã«ãã匷ãä¿èšŒããªãå Žåãå¥ã®ã¹ã¬ããã«ãã£ãŠå€æŽãããã³ã¬ã¯ã·ã§ã³ã§ã¡ãœãããåŒã³åºããšãå®çŸ©ãããŠããªãåäœãçºçããå¯èœæ§ããããŸããããã«ã¯ãçŽæ¥ã®åŒã³åºããåŒåºããå®è¡ããå¯èœæ§ãããã¡ãœãããžã®ã³ã¬ã¯ã·ã§ã³ã®åŒæž¡ããããã³æ¢åã®ã€ãã¬ãŒã¿ã䜿çšããã³ã¬ã¯ã·ã§ã³ã®æ€æ»ãå«ãŸããŸãã
Collections Frameworkã€ã³ã¿ãã§ãŒã¹å
ã®å€æ°ã®ã¡ãœããã¯ãequalsã¡ãœãããšã®é¢é£ã§å®çŸ©ãããŸãã ããšãã°ãcontains(Object o)ã¡ãœããã®ä»æ§ã¯ãããã®ã³ã¬ã¯ã·ã§ã³ã« (o==null ? e==null : o.equals(e))ãæºããèŠçŽ eã1ã€ä»¥äžå«ãŸããå Žåã«ã®ã¿ãtrueãè¿ãããšãããã®ã§ãã ãã®ä»æ§ã¯ããnull以å€ã®åŒæ°oã䜿çšããŠCollection.containsãåŒã³åºããšãèŠçŽ eã§o.equals(e)ãåŒã³åºãããããšçè§£ãã¹ãã§ã¯ãããŸããã å®è£
ã¯ãæåã«2ã€ã®èŠçŽ ã®ããã·ã¥ã»ã³ãŒããæ¯èŒãããªã©ãequalsåŒåºããåé¿ããããã®æé©åãèªç±ã«å®è£
ã§ããŸãã (Object.hashCode()仿§ã§ã¯ãç䟡ã§ã¯ãªãããã·ã¥ã»ã³ãŒããä¿æãã2ã€ã®ãªããžã§ã¯ãã¯ç䟡ã§ã¯ãªãããšãä¿èšŒãããŸãã) éåžžãããŸããŸãªCollections Frameworkã€ã³ã¿ãã§ãŒã¹ã®å®è£
ã§ãå®è£
è
ãé©åãšå€æãããªããåºæ¬ãšãªãObjectã¡ãœããã®æå®ãããåäœãèªç±ã«å©çšã§ããŸãã
ã³ã¬ã¯ã·ã§ã³ã®ååž°çãªãã©ããŒãµã«ãè¡ãã³ã¬ã¯ã·ã§ã³æäœã®äžã«ã¯ãã³ã¬ã¯ã·ã§ã³ã«ããèªèº«ãçŽæ¥ãŸãã¯éæ¥çã«å«ãŸããèªå·±åç
§åã€ã³ã¹ã¿ã³ã¹ã®äŸå€ã«ãã£ãŠå€±æãããã®ããããŸãã ããã«ã¯ãclone()ãequals()ãhashCode()ãããã³toString()ã¡ãœãããå«ãŸããŸãã å®è£
ã§ã¯ãªãã·ã§ã³ã§èªå·±åç
§ã·ããªãªãåŠçã§ããŸãããææ°ã®å®è£
ã§ã¯è¡ãããŠããŸããã
ãã®ã€ã³ã¿ãã§ãŒã¹ã¯ãJava Collections Frameworkã®ã¡ã³ããŒã§ãã
Collectionã®å®è£
ã«ç¹å®ã®åæãããã³ã«ãå«ãŸããŠããå Žåã¯ãããã©ã«ãã®å®è£
ããªãŒããŒã©ã€ãããŠãã®ãããã³ã«ãé©çšããå¿
èŠããããŸãã Set, List, Map, SortedSet, SortedMap, HashSet, TreeSet, ArrayList, LinkedList, Vector, Collections, Arrays, AbstractCollection| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
boolean |
add(E e) |
æå®ãããèŠçŽ ããã®ã³ã¬ã¯ã·ã§ã³ã«æ ŒçŽãããŠããããšãä¿èšŒããŸã(ãªãã·ã§ã³ã®æäœ)ã
|
boolean |
addAll(Collection<? extends E> c) |
æå®ãããã³ã¬ã¯ã·ã§ã³ã®ãã¹ãŠã®èŠçŽ ããã®ã³ã¬ã¯ã·ã§ã³ã«è¿œå ããŸã(ãªãã·ã§ã³ã®æäœ)ã
|
void |
clear() |
ãã®ã³ã¬ã¯ã·ã§ã³ãããã¹ãŠã®èŠçŽ ãåé€ããŸã(ãªãã·ã§ã³ã®æäœ)ã
|
boolean |
contains(Object o) |
æå®ãããèŠçŽ ãã³ã¬ã¯ã·ã§ã³ã«å«ãŸããŠããå Žåã«trueãè¿ããŸãã
|
boolean |
containsAll(Collection<?> c) |
æå®ãããã³ã¬ã¯ã·ã§ã³ã®ãã¹ãŠã®èŠçŽ ããã®ã³ã¬ã¯ã·ã§ã³å
ã«ããå Žåã¯trueãè¿ããŸãã
|
boolean |
equals(Object o) |
æå®ããããªããžã§ã¯ããšãã®ã³ã¬ã¯ã·ã§ã³ãçãããã©ãããæ¯èŒããŸãã
|
int |
hashCode() |
ã³ã¬ã¯ã·ã§ã³ã®ããã·ã¥ã»ã³ãŒãå€ãè¿ããŸãã
|
boolean |
isEmpty() |
ãã®ã³ã¬ã¯ã·ã§ã³ã«èŠçŽ ããªãå Žåã«trueãè¿ããŸãã
|
Iterator<E> |
iterator() |
ã³ã¬ã¯ã·ã§ã³ã®èŠçŽ ã®ã€ãã¬ãŒã¿ãè¿ããŸãã
|
default Stream<E> |
parallelStream() |
ãã®ã³ã¬ã¯ã·ã§ã³ããœãŒã¹ãšããŠãæœåšçã«äžŠåã®
Streamãè¿ããŸãã |
boolean |
remove(Object o) |
æå®ãããèŠçŽ ã®ã€ã³ã¹ã¿ã³ã¹ããã®ã³ã¬ã¯ã·ã§ã³ã«ããã°ããã®ã€ã³ã¹ã¿ã³ã¹ãã³ã¬ã¯ã·ã§ã³ãã1ã€åé€ããŸã(ãªãã·ã§ã³ã®æäœ)ã
|
boolean |
removeAll(Collection<?> c) |
æå®ãããã³ã¬ã¯ã·ã§ã³ã«ãæ ŒçŽãããŠãããã®ã³ã¬ã¯ã·ã§ã³ã®ãã¹ãŠã®èŠçŽ ãåé€ããŸã(ãªãã·ã§ã³ã®æäœ)ã
|
default boolean |
removeIf(Predicate<? super E> filter) |
æå®ãããè¿°èªãæºãããã®ã³ã¬ã¯ã·ã§ã³ã®èŠçŽ ããã¹ãŠåé€ããŸãã
|
boolean |
retainAll(Collection<?> c) |
ãã®ã³ã¬ã¯ã·ã§ã³ã«ãããŠãæå®ãããã³ã¬ã¯ã·ã§ã³ã«æ ŒçŽãããŠããèŠçŽ ã ããä¿æããŸã(ãªãã·ã§ã³ã®æäœ)ã
|
int |
size() |
ãã®ã³ã¬ã¯ã·ã§ã³äžã®èŠçŽ ã®æ°ãè¿ããŸãã
|
default Spliterator<E> |
spliterator() |
ãã®ã³ã¬ã¯ã·ã§ã³å
ã®èŠçŽ ã«å¯Ÿãã
SpliteratorãäœæããŸãã |
default Stream<E> |
stream() |
ãã®ã³ã¬ã¯ã·ã§ã³ããœãŒã¹ãšããŠäœ¿çšããŠã鿬¡çãª
Streamãè¿ããŸãã |
Object[] |
toArray() |
ãã®ã³ã¬ã¯ã·ã§ã³ã®èŠçŽ ããã¹ãŠæ ŒçŽãããŠããé
åãè¿ããŸãã
|
<T> T[] |
toArray(T[] a) |
ãã®ã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®èŠçŽ ãä¿æããé
åãè¿ããŸããè¿ãããé
åã®å®è¡æã®åã¯ãæå®ãããé
åã®åã§ãã
|
int size()
boolean isEmpty()
boolean contains(Object o)
o - ãã®ã³ã¬ã¯ã·ã§ã³å
ã«ãããã©ãããå€å®ãããèŠçŽ ClassCastException - æå®ãããèŠçŽ ã®åãããã®ã³ã¬ã¯ã·ã§ã³ãšäºæã§ãªãå Žå(ãªãã·ã§ã³)NullPointerException - æå®ãããèŠçŽ ãnullã§ããã®ã³ã¬ã¯ã·ã§ã³ãnullèŠçŽ ãèš±å¯ããªãå Žå(ãªãã·ã§ã³)Iterator<E> iterator()
Object[] toArray()
è¿ãããé åãžã®åç §ãã³ã¬ã¯ã·ã§ã³ãç¶æããªããšããç¹ã§ããã®é åã¯å®å šã§ãã ã€ãŸãããã®ã¡ãœããã¯ãã³ã¬ã¯ã·ã§ã³ãé åã«é£åããŠããå Žåã§ãæ°ããé åãå²ãåœãŠãŸãã ãã®ãããåŒåºãåŽã¯ãè¿ãããé åãèªç±ã«å€æŽã§ããŸãã
ãã®ã¡ãœããã¯ãé åããŒã¹ã®APIãšã³ã¬ã¯ã·ã§ã³ããŒã¹ã®APIã®éã®æ©æž¡ã圹ãšããŠæ©èœããŸãã
<T> T[] toArray(T[] a)
ãã®ã³ã¬ã¯ã·ã§ã³ãæå®ãããé åã«åãŸãããã®é åã«ããã«äœè£ãããå Žå(ã€ãŸããé åããã®ã³ã¬ã¯ã·ã§ã³ããå€ãã®èŠçŽ ãæã€å Žå)ããã®é åå ã§ã³ã¬ã¯ã·ã§ã³ã®çµç«¯ããããšã®èŠçŽ ã¯nullã«èšå®ãããŸãã ãã®ã³ã¬ã¯ã·ã§ã³ã«nullèŠçŽ ããªãããšãåŒåºãåŽãç¥ã£ãŠããå Žåã«ã ãããã®ç¹æ§ãå©çšããŠã³ã¬ã¯ã·ã§ã³ã®é·ãã倿ã§ããŸãã
ã€ãã¬ãŒã¿ã«ãã£ãŠèŠçŽ ãè¿ãããé åºãã³ã¬ã¯ã·ã§ã³ãä¿èšŒããå Žåããã®ã¡ãœããã¯åãé åºã§èŠçŽ ãè¿ããªããã°ãªããŸããã
toArray()ã¡ãœãããšåãããã«ããã®ã¡ãœããã¯ãé
åããŒã¹ã®APIãšã³ã¬ã¯ã·ã§ã³ããŒã¹ã®APIã®éã®æ©æž¡ã圹ãšããŠæ©èœããŸãã ããã«ããã®ã¡ãœããã§ã¯ãåºåé
åã®å®è¡æã®åãæ£ç¢ºã«å¶åŸ¡ã§ãããããç°å¢ã«ãã£ãŠã¯å²åœãŠã®æéãæããããšãã§ããŸãã
xããæååã ããããªãã³ã¬ã¯ã·ã§ã³ã§ããããšãããã£ãŠãããšä»®å®ããŸãã æ¬¡ã®ã³ãŒãã䜿ããšãæ°ããå²ãåœãŠãããStringã®é åå ã«ã³ã¬ã¯ã·ã§ã³ããã³ãã§ããŸãã
String[] y = x.toArray(new String[0]);
toArray(new Object[0])ã¯ãæ©èœã®ç¹ã§toArray()ãšåäžã§ããT - ã³ã¬ã¯ã·ã§ã³ãå«ãé
åã®å®è¡æã®åa - é
åãååãªå€§ãããæã€å Žåã¯ããã®ã³ã¬ã¯ã·ã§ã³ã®èŠçŽ ã®æ ŒçŽå
ã®é
åãé
åã®ãµã€ãºãååã§ãªãå Žåã¯ãåãå®è¡æã®åã§æ°ããé
åãæ ŒçŽçšãšããŠå²ãåœãŠããããArrayStoreException - æå®ãããé
åã®å®è¡æã®åãããã®ã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®èŠçŽ ã®å®è¡æã®åã®ã¹ãŒããŒã»ã¿ã€ãã§ã¯ãªãå ŽåNullPointerException - æå®ãããé
åãnullã§ããå Žåboolean add(E e)
ãã®ãªãã¬ãŒã·ã§ã³ããµããŒãããã³ã¬ã¯ã·ã§ã³ã§ã¯ãã³ã¬ã¯ã·ã§ã³ã«è¿œå ã§ããèŠçŽ ã«ã€ããŠå¶éãããå ŽåããããŸãã ããšãã°ãã³ã¬ã¯ã·ã§ã³ã«ãã£ãŠã¯ãnullèŠçŽ ã®è¿œå ãèš±å¯ãããªãããšãã远å ãããèŠçŽ ã®åãå¶éããããšããããŸãã 远å ãããèŠçŽ ã«é¢ããŠå¶éãããå Žåã¯ããã®Collectionã¯ã©ã¹ã®ããã¥ã¡ã³ãã«æç€ºãã¹ãã§ãããã
ãã®èŠçŽ ããã§ã«ãããšãã以å€ã®çç±ã§ç¹å®ã®èŠçŽ ã®è¿œå ãæåŠããå Žåãã³ã¬ã¯ã·ã§ã³ã¯falseãè¿ãã®ã§ã¯ãªãäŸå€ãã¹ããŒããå¿ èŠããããŸãã ããã«ããããã®åŒåºããæ»ã£ãããšã«ã³ã¬ã¯ã·ã§ã³ãæå®ãããèŠçŽ ãå¿ ãæ ŒçŽãããšããäžå€æ§ãä¿ã€ããšãã§ããŸãã
e - ãã®ã³ã¬ã¯ã·ã§ã³ã«ãããã©ããã調ã¹ãèŠçŽ UnsupportedOperationException - addãªãã¬ãŒã·ã§ã³ããã®ã³ã¬ã¯ã·ã§ã³ã§ãµããŒããããªãå ŽåClassCastException - æå®ãããèŠçŽ ã®ã¯ã©ã¹ãåå ã§ããã®ã³ã¬ã¯ã·ã§ã³ã«ãã®èŠçŽ ã远å ã§ããªãå ŽåNullPointerException - æå®ãããèŠçŽ ãnullã§ããã®ã³ã¬ã¯ã·ã§ã³ãnullèŠçŽ ãèš±å¯ããªãå ŽåIllegalArgumentException - èŠçŽ ã®ããããããã£ãåå ã§ããã®ã³ã¬ã¯ã·ã§ã³ã«èŠçŽ ã远å ã§ããªãå ŽåIllegalStateException - æ¿å
¥å¶éã®ããããã®æç¹ã§èŠçŽ ã远å ã§ããªãå Žåboolean remove(Object o)
o - ãã®ã³ã¬ã¯ã·ã§ã³ããåé€ãããèŠçŽ (ãã®èŠçŽ ãååšããå Žå)ClassCastException - æå®ãããèŠçŽ ã®åãããã®ã³ã¬ã¯ã·ã§ã³ãšäºæã§ãªãå Žå(ãªãã·ã§ã³)NullPointerException - æå®ãããèŠçŽ ãnullã§ããã®ã³ã¬ã¯ã·ã§ã³ãnullèŠçŽ ãèš±å¯ããªãå Žå(ãªãã·ã§ã³)UnsupportedOperationException - removeãªãã¬ãŒã·ã§ã³ããã®ã³ã¬ã¯ã·ã§ã³ã§ãµããŒããããªãå Žåboolean containsAll(Collection<?> c)
c - ãã®ã³ã¬ã¯ã·ã§ã³ã«ãããã©ããã調ã¹ãã³ã¬ã¯ã·ã§ã³ClassCastException - æå®ãããã³ã¬ã¯ã·ã§ã³ã®1ã€ä»¥äžã®èŠçŽ ã®åãããã®ã³ã¬ã¯ã·ã§ã³ãšäºæã§ãªãå Žå(ãªãã·ã§ã³)NullPointerException - æå®ãããã³ã¬ã¯ã·ã§ã³ã«1ã€ä»¥äžã®nullèŠçŽ ãå«ãŸããŠããããã®ã³ã¬ã¯ã·ã§ã³ãnullèŠçŽ ãèš±å¯ããªãå Žå(ãªãã·ã§ã³)ããŸãã¯æå®ãããã³ã¬ã¯ã·ã§ã³ãnullã®å Žåãcontains(Object)boolean addAll(Collection<? extends E> c)
c - ãã®ã³ã¬ã¯ã·ã§ã³ã«è¿œå ãããèŠçŽ ãå«ãã³ã¬ã¯ã·ã§ã³UnsupportedOperationException - addAllãªãã¬ãŒã·ã§ã³ããã®ã³ã¬ã¯ã·ã§ã³ã§ãµããŒããããªãå ŽåClassCastException - æå®ãããã³ã¬ã¯ã·ã§ã³ã®èŠçŽ ã®ã¯ã©ã¹ãåå ã§ããã®ã³ã¬ã¯ã·ã§ã³ã«ãã®èŠçŽ ã远å ã§ããªãå ŽåNullPointerException - æå®ãããã³ã¬ã¯ã·ã§ã³å
ã«nullèŠçŽ ãå«ãŸãããã®ã³ã¬ã¯ã·ã§ã³ãnullèŠçŽ ãèš±å¯ããªãå ŽåããŸãã¯æå®ãããã³ã¬ã¯ã·ã§ã³ãnullã®å ŽåIllegalArgumentException - æå®ãããã³ã¬ã¯ã·ã§ã³ã®èŠçŽ ã®ããããããã£ãåå ã§ããã®ã³ã¬ã¯ã·ã§ã³ã«ãã®èŠçŽ ã远å ã§ããªãå ŽåIllegalStateException - æ¿å
¥å¶éã®ããããã®æç¹ã§äžéšã®èŠçŽ ã远å ã§ããªãå Žåadd(Object)boolean removeAll(Collection<?> c)
c - ãã®ã³ã¬ã¯ã·ã§ã³ããåé€ãããèŠçŽ ãå«ãã³ã¬ã¯ã·ã§ã³UnsupportedOperationException - removeAllã¡ãœããããã®ã³ã¬ã¯ã·ã§ã³ã§ãµããŒããããªãå ŽåClassCastException - ãã®ã³ã¬ã¯ã·ã§ã³å
ã®1ã€ä»¥äžã®èŠçŽ ã®åããæå®ãããã³ã¬ã¯ã·ã§ã³ãšäºæã§ãªãå Žå(ãªãã·ã§ã³)NullPointerException - ãã®ã³ã¬ã¯ã·ã§ã³ã«1ã€ä»¥äžã®nullèŠçŽ ãå«ãŸããŠãããæå®ãããã³ã¬ã¯ã·ã§ã³ãnullèŠçŽ ããµããŒãããªãå Žå(ãªãã·ã§ã³)ããŸãã¯æå®ãããã³ã¬ã¯ã·ã§ã³ãnullã®å Žåremove(Object), contains(Object)default boolean removeIf(Predicate<? super E> filter)
iterator()ã䜿çšããŠã³ã¬ã¯ã·ã§ã³ã®ãã¹ãŠã®èŠçŽ ããã©ããŒã¹ããŸãã äžèŽããåèŠçŽ ã¯ãIterator.remove()ã䜿ã£ãŠåé€ãããŸãã ã³ã¬ã¯ã·ã§ã³ã®ã€ãã¬ãŒã¿ãåé€ããµããŒãããŠããªãå Žåã¯ãæåã«äžèŽããèŠçŽ ã«å¯ŸããŠUnsupportedOperationExceptionãã¹ããŒãããŸãã filter - åé€ãããèŠçŽ ã«å¯ŸããŠtrueãè¿ãè¿°èªtrueNullPointerException - æå®ããããã£ã«ã¿ãnullã§ããå ŽåUnsupportedOperationException - ãã®ã³ã¬ã¯ã·ã§ã³ããèŠçŽ ãåé€ã§ããªãå Žåã äžèŽããèŠçŽ ãåé€ã§ããªãå ŽåããŸãã¯äžè¬çã«åé€ããµããŒããããŠããªãå Žåãå®è£
ã«ãã£ãŠãã®äŸå€ãã¹ããŒãããããšããããŸãã boolean retainAll(Collection<?> c)
c - ãã®ã³ã¬ã¯ã·ã§ã³ã§ä¿æãããèŠçŽ ãå«ãã³ã¬ã¯ã·ã§ã³UnsupportedOperationException - retainAllãªãã¬ãŒã·ã§ã³ããã®ã³ã¬ã¯ã·ã§ã³ã§ãµããŒããããªãå ŽåClassCastException - ãã®ã³ã¬ã¯ã·ã§ã³å
ã®1ã€ä»¥äžã®èŠçŽ ã®åããæå®ãããã³ã¬ã¯ã·ã§ã³ãšäºæã§ãªãå Žå(ãªãã·ã§ã³)NullPointerException - ãã®ã³ã¬ã¯ã·ã§ã³ã«1ã€ä»¥äžã®nullèŠçŽ ãå«ãŸããŠãããæå®ãããã³ã¬ã¯ã·ã§ã³ãnullèŠçŽ ãèš±å¯ããªãå Žå(ãªãã·ã§ã³)ããŸãã¯æå®ãããã³ã¬ã¯ã·ã§ã³ãnullã®å Žåremove(Object), contains(Object)void clear()
UnsupportedOperationException - clearãªãã¬ãŒã·ã§ã³ããã®ã³ã¬ã¯ã·ã§ã³ã§ãµããŒããããªãå Žåboolean equals(Object o)
Collectionã€ã³ã¿ãã§ãŒã¹ã¯Object.equalsã®æ±çšèŠçŽã«æ¡é ã远å ããŸããããCollectionããçŽæ¥ãã«å®è£ ãã(ã€ãŸããCollectionã§ãããSetãŸãã¯Listã§ã¯ãªãã¯ã©ã¹ãäœæãã)ãšãã«ã¯ãObject.equalsããªãŒããŒã©ã€ãããå Žåã«é æ ®ãå¿ èŠã§ãã ããããå¿ èŠããªãå Žåããã£ãšãåçŽãªæ¹æ³ã¯Objectã®å®è£ ã«äŸåããããšã§ãããå®è£ ã«ãã£ãŠã¯ãããã©ã«ãã®ãåç §æ¯èŒãã®ä»£ããã«ã倿¯èŒããå®è£ ããå¿ èŠãããããšããããŸãã Listããã³Setã€ã³ã¿ãã§ãŒã¹ã§ã¯ããã®ãããªå€æ¯èŒãå¿ èŠã§ãã
Object.equalsã¡ãœããã®äžè¬èŠçŽã«ãããšãequalsã¯å¯Ÿç§°çã§ãªããã°ãããŸãã(ã€ãŸããb.equals(a)ã®å Žåã«ã ãa.equals(b))ã List.equalsããã³Set.equalsã®èŠçŽã«ãããšããªã¹ãã¯ã»ãã®ãªã¹ããšã ãçãããªããã»ããã¯ã»ãã®ã»ãããšã ãçãããªããŸãã ãã®ãããListãšSetã®ã©ã¡ãã®ã€ã³ã¿ãã§ãŒã¹ãå®è£ ããªãã³ã¬ã¯ã·ã§ã³ã»ã¯ã©ã¹ã®ã«ã¹ã¿ã equalsã¡ãœããã¯ããã®ã³ã¬ã¯ã·ã§ã³ããªã¹ããŸãã¯ã»ãããšæ¯èŒãããå Žåã«falseãè¿ããŸãã åãè«çã«ãããSetãšListã®äž¡ã€ã³ã¿ãã§ãŒã¹ãæ£ããå®è£ ããã¯ã©ã¹ãèšè¿°ããããšã¯ã§ããŸããã
equalsãã¯ã©ã¹Objecto - ãã®ã³ã¬ã¯ã·ã§ã³ãšçãããã©ãããæ¯èŒããããªããžã§ã¯ãObject.equals(Object), Set.equals(Object), List.equals(Object)int hashCode()
hashCodeãã¯ã©ã¹ObjectObject.hashCode(), Object.equals(Object)default Spliterator<E> spliterator()
SpliteratorãäœæããŸãã å®è£
ã§ã¯ããã®ã¹ããªããã¬ãŒã¿ã«ãã£ãŠå ±åãããç¹æ§å€ãããã¥ã¡ã³ãåããå¿
èŠããããŸãã ã¹ããªããã¬ãŒã¿ãSpliterator.SIZEDãå ±åãããã®ã³ã¬ã¯ã·ã§ã³ã«èŠçŽ ã1ã€ãå«ãŸããŠããªãå Žåã¯ããã®ãããªç¹æ§å€ãå ±åãããå¿
èŠã¯ãããŸããã
ããã©ã«ãã®å®è£
ã¯ãããå¹ççãªã¹ããªããã¬ãŒã¿ãè¿ãããšãã§ãããµãã¯ã©ã¹ã«ãã£ãŠãªãŒããŒã©ã€ããããã¹ãã§ãã stream()ããã³parallelStream()}ã¡ãœããã®æåŸ
ãããé
å»¶åäœãç¶æãããããã¹ããªããã¬ãŒã¿ã¯IMMUTABLEãŸãã¯CONCURRENTã®ç¹æ§ãæã£ãŠããããé
å»¶ãã€ã³ãã£ã³ã°ã§ããã¹ãã§ãã ãããã®ã©ããå®çŸã§ããªãå ŽåããªãŒããŒã©ã€ãããã¯ã©ã¹ã¯ãã€ã³ãã£ã³ã°ããã³æ§é äžã®å¹²æžã«é¢ããã¹ããªããã¬ãŒã¿ã®ããã¥ã¡ã³ãåãããããªã·ãŒãèšè¿°ããæ¬¡ã«ããããã«stream()ããã³parallelStream()ã¡ãœããããªãŒããŒã©ã€ãããŠãã¹ããªããã¬ãŒã¿ã®Supplierã§ã¹ããªãŒã ãäœæããã¹ãã§ãã
Stream<E> s = StreamSupport.stream(() -> spliterator(), spliteratorCharacteristics)
ãããã®èŠä»¶ã«ãããstream()ããã³parallelStream()ã¡ãœããã«ãã£ãŠäœæãããã¹ããªãŒã ã¯ãã¹ããªãŒã çµç«¯æäœã®éå§ä»¥éãã³ã¬ã¯ã·ã§ã³ã®å
容ãåæ ããããã«ãªããŸãã
spliteratorãã€ã³ã¿ãã§ãŒã¹Iterable<E>Iteratorããé
å»¶ãã€ã³ãã£ã³ã°ã»ã¹ããªããã¬ãŒã¿ãäœæããŸãã ãã®ã¹ããªããã¬ãŒã¿ã¯ãã³ã¬ã¯ã·ã§ã³ã®ã€ãã¬ãŒã¿ã®ãã§ã€ã«ãã¡ã¹ãç¹æ§ãç¶æ¿ããŸãã
äœæãããSpliteratorã¯Spliterator.SIZEDãå ±åããŸãã
Spliteratorã¯ããã«Spliterator.SUBSIZEDãå ±åããŸãã
ã¹ããªããã¬ãŒã¿ã®é©çšãããèŠçŽ ããªãå Žåã¯ãSIZEDããã³SUBSIZEDã®ä»ã«è¿œå ã®ç¹æ§å€ãå ±åããŠããã¯ã©ã€ã¢ã³ãã«ããèšç®ã®å¶åŸ¡ãç¹æ®åããŸãã¯ç°¡çŽ åã«ã¯åœ¹ç«ã¡ãŸããã ãã ããããã«ãã£ãŠãäžå€ããã³ç©ºã®ã¹ããªããã¬ãŒã¿ã»ã€ã³ã¹ã¿ã³ã¹(Spliterators.emptySpliterator()ãåç
§)ã空ã®ã³ã¬ã¯ã·ã§ã³ã«å
±åå©çšã§ããããã«ãªãããã®ãããªã¹ããªããã¬ãŒã¿ãé©çšãããèŠçŽ ããªããã©ãããã¯ã©ã€ã¢ã³ããå€å®ã§ããããã«ãªããŸãã
Spliteratordefault Stream<E> stream()
Streamãè¿ããŸãã
ãã®ã¡ãœããã¯ãIMMUTABLEãCONCURRENTããŸãã¯é
å»¶ãã€ã³ãã£ã³ã°ã§ããã¹ããªããã¬ãŒã¿ãspliterator()ã¡ãœãããè¿ããªãå Žåã«ãªãŒããŒã©ã€ããããã¹ãã§ãã (詳现ã¯spliterator()ãåç
§ã)
Spliteratorããé æ¬¡StreamãäœæããŸããStreamdefault Stream<E> parallelStream()
Streamãè¿ããŸãã ãã®ã¡ãœããã¯é 次ã¹ããªãŒã ãè¿ãããšãã§ããŸãã
ãã®ã¡ãœããã¯ãIMMUTABLEãCONCURRENTããŸãã¯é
å»¶ãã€ã³ãã£ã³ã°ã§ããã¹ããªããã¬ãŒã¿ãspliterator()ã¡ãœãããè¿ããªãå Žåã«ãªãŒããŒã©ã€ããããã¹ãã§ãã (詳现ã¯spliterator()ãåç
§ã)
Spliteratorãã䞊åStreamãäœæããŸããStream ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã