标签:类库 0109 iterator Object Collection 实用 boolean 泛型 方法
由于Collection与Iterator都是泛型接口,这意味着你可以编写处理任何集合类型的实用方法。
Java类库的设计者认为,有一些方法十分有用,应该将他们提供给用户使用,这样类库使用者就不用自己再构建这些方法了。
事实上,Collection接口声明了很多有用的方法,如:
int size()
booleam isEmpty()
boolean contains(Object obj)
boolean containsAll(Collection<?> C)
boolean equals(Object other)
...
当然,如果每一个实现Collection接口的类都要实现如此多的方法,这会很烦人,所以Java类库提供了一个抽象类AbstractCollection,他保持基础方法size和iterator仍为抽象方法,但是为实现者实现了其他方法。例如:
public abstract class AbstractCollection<E> implements Collection<E> {
...
public absrtact Iterator<E> iterator();
public boolean contains(Object obj) {
for (E element : this) {
if (element.equals(obj)) {
return true;
}
return false;
}
...
}
这样一来,具体集合类可以扩展此类。
具体的集合类来实现iterator方法,此超类提供contains方法。
不过这种做法有些过时,这些方法最好是Collection接口,但是实际上并不是这样。不过确实有很多已经增加进来成为了默认方法,大部分都与流处理有关。
另外还有一个十分有用的方法:
default boolean removeIf(Predicate<? super E> filter)
这个方法用于删除满足某个条件的元素。
标签:类库,0109,iterator,Object,Collection,实用,boolean,泛型,方法 来源: https://blog.csdn.net/whr19970424/article/details/112426009
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。