`
albert0312
  • 浏览: 30297 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

幽灵引用 -- 好强大的文章

http://www.iteye.com/topic/401478

 

ThreadLocal -- 非常全面解释了这个怪东东

http://www.iteye.com/topic/103804

 

Concurrent -- 并发啊

http://www.iteye.com/topic/363625

 

泛型 -- 泛型一箩筐

http://www.java3z.com/cwbwebhome/article/article5/tiger2.jsp

 

Comparator和Comparable -- 这个怪叔叔不算高级了,但是可以深入的了解一下它类似的设计模式 -- 策略模式。。如有兴趣还要把它和枚举放到一起

http://www.blogjava.net/fastunit/archive/2008/04/08/191533.html

 

Java代码 复制代码
  1. public abstract class Enum<E extends Enum<E>>   
  2.         implements Comparable<E>, Serializable   
public abstract class Enum<E extends Enum<E>>
        implements Comparable<E>, Serializable 

 

ListIterator -- 怪东东,虽然不难,但我竟然没有听过,更别提用过了。看看JDK源码中关于list的reverse实现

Java代码 复制代码
  1. public static void reverse(List<?> list) {   
  2.         int size = list.size();   
  3.         if (size < 18 || list instanceof RandomAccess) {   
  4.             for (int i=0, mid=size>>1, j=size-1; i<mid; i++, j--)   
  5.                 swap(list, i, j);   
  6.         } else {   
  7.             ListIterator fwd = list.listIterator();   
  8.             ListIterator rev = list.listIterator(size);   
  9.             for (int i=0, mid=list.size()>>1; i<mid; i++) {   
  10.         Object tmp = fwd.next();   
  11.                 fwd.set(rev.previous());   
  12.                 rev.set(tmp);   
  13.             }   
  14.         }   
  15.     }   
  16.   
  17.     public static void swap(List<?> list, int i, int j) {   
  18.     final List l = list;   
  19.     l.set(i, l.set(j, l.get(i)));   
  20.     }  
public static void reverse(List<?> list) {
        int size = list.size();
        if (size < 18 || list instanceof RandomAccess) {
            for (int i=0, mid=size>>1, j=size-1; i<mid; i++, j--)
                swap(list, i, j);
        } else {
            ListIterator fwd = list.listIterator();
            ListIterator rev = list.listIterator(size);
            for (int i=0, mid=list.size()>>1; i<mid; i++) {
		Object tmp = fwd.next();
                fwd.set(rev.previous());
                rev.set(tmp);
            }
        }
    }

    public static void swap(List<?> list, int i, int j) {
	final List l = list;
	l.set(i, l.set(j, l.get(i)));
    }

 

写道
List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面:

1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能

2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。

3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。

4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。

因为ListIterator的这些功能,可以实现对LinkedList等List数据结构的操作。其实,数组对象也可以用迭代器来实现。

 

 你真的理解finally了吗,看看这篇文章后,你或许不会这么自信了

http://zangxt.iteye.com/blog/421508

 

Java类加载机制 -- 很好的博文

http://lavasoft.blog.51cto.com/62575/184547

分享到:
评论

相关推荐

    Java基础课程

    Java基础课程PPT资源;知识点:自定义动画、选择器高级应用、响应式网站开发、行业命名规范、域名注册-搭建个人网站 让学员熟练掌握css、js、JQuery等技术,可做到独立编写PC+移动端网站页面。并且能够独立开发web...

    免费开源Java 基础镜像

    Fabric8 Java 基础镜像 这是各种 Fabric8 项目中使用的 Java Docker 基础镜像的存储库。 这些镜像的 Docker 构建文件由Fish-pepper生成 ,fish-pepper 是一个用于生成 Docker 构建的复杂模板系统。fish-pepper允许...

    java基础案例教程

    java基础的案例分析和实例教学,适合新手及回顾查阅,对于夯实基础有好处

    java基础总结.xmind

    IO、面向对象Object类、API、集合体系、IO体系、面向对象、多线程、递归、相互转换、正则表达式

    Guns-java基础

    Guns v8.3.0GunsJavaSpring Boot3 + JDK17DevOpsCI/CDAPI java基础 java基础 java基础 java基础 java基础

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

    JAVA基础加强

    java基础加强版 ,更人性的巩固基础,万丈高楼平地起,只有打好基础,才能理解更复杂的东西

    java基础知识图

    总结了java基础的架构,从JDK安装到反射的知识

    NutzWk-java基础

    WK-V1V5 Java(//) java基础 java基础 java基础 java基础 java基础

    JAVA基础自学教程

    写的很详细,适合初学者,里面的讲解很丰富,很有学习价值,最好是配套一本详细的JAVA基础一起看,会有更好的效果

    Java基础学习Java基础学习

    Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础学习Java基础...

    Java 基础视频

    最全的Java视频基础。 从环境变量配置, 到基本的HelloWorld编写 到Java的基本数据类型 到Java 集合总结 到java IO 到Java 多线程编程 到java Socket 编程 从简单到复杂,从不会到会,全程教你如何玩转Java,如何从...

    java基础总结

    java基础。。。。。。。。。。。。。。。。。。。。。

    Java 基础入门(传智播客出品).pdf

    Java 基础入门,适合初学入门java的同学

    java基础-数据类型

    java\基础知识\萌新知识点\01数据类型

    java时间比较,java基础

    java java时间比较,java基础

Global site tag (gtag.js) - Google Analytics