美文网首页
【Java】基础系列(三)

【Java】基础系列(三)

作者: 如雨随行2020 | 来源:发表于2022-01-01 01:28 被阅读0次

Iterator和Iterable

Iterator: 为了是客户端用同一种逻辑来遍历集合,而不用考虑具体是那种集合
对于任意的集合c遍历其内部的元素都是相同的:

for(Iterator it = c.iterator(); it.hasNext(); ) { Object o = it.next(); // 对o的操作... } 

在JDK1.5中,还对上面的代码在语法上作了简化
这就是我们熟知的for-each

for(Object o : c){//对o的操作}

而如果集合中的元素是自定义的类,自定义的类就要实现Iterable接口才能使用for-each的遍历方法。

Comparable和Comparator

Comparable:可比较的,实现了Comparable接口的类需要重写int compareTo(Object o)方法,表示这个可以比较大小,就可以使用集合的sort进行排序,也可以放入TreeSet中。
Comparator:比较器,一般用来比较两个自定义类对象的大小,
实现该接口的类需要重写 int compare(Object o1, Object o2) 方法。
并且一般用比较的类名加Comparator作为类名。
如果要把自定义的对象加到排序了的集合中,可以用Comparator作为参数来初始化集合。

String、StringBuffer、StringBuilder

效率StringBuilder > StringBuffer > String
String每次改变都会创建新的对象
StringBuffer是同步的
StringBuilder是异步的
 
 String:适用于少量的字符串操作的情况
 StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
 StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况

相关文章

网友评论

      本文标题:【Java】基础系列(三)

      本文链接:https://www.haomeiwen.com/subject/qmyraltx.html