`
sunajax
  • 浏览: 34637 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java学习笔记之二(数组和JDK常用类)

    博客分类:
  • Java
阅读更多
以下是我个人总结的一些Java中常用类
[list=1]
[*]数组(Array):我们这里所说的数组并不是java.util.Arrays,这个类提供数组操作的一些静态方法(如排序和二分查找等),数组在Java中就是对象,它具有length属性,分静态初始化
int[] a = {1,2,3};
和动态初始化
int[] a = new int[]{1,2,3};
有人肯定会奇怪如下代码,
 
        String s; s = "abc";//这样可以通过编译 
         int[] a; a = {1,2,3};//这样不能通过编译 

出现这个错误的原因主要是a的大小未确定,你可以这样赋值a={1,2,3},等下可能变成a={1,2,3,4,5},JVM并不能确定你的大小,和集合类并不一样;
[*]基本类型封装类:因为整数、浮点数和字符等经常需要操作,所以Java中定义了基本数据类型,减少了创建对象所带来的效率问题;在JDK1.5以后所有的封装类都缓存了一定范围的该类型的常量,调用封装类的valueOf()方法可以比构造方法更有效率得到该类的对象,例如:
 Integer inte = new Integer(2); Integer inte = Integer.valueOf(2);//更有效率

[*]System、Runtime、Random和Math:Runtime通过exec()方法执行系统进程,
System.getRuntime.exec("notepad");
System类可取得系统时间(System.currentTimeMillis()),运行垃圾收集器GC(System.gc()),通过
 System.setIn(PrintStream in); System.setOut(PrintStream out); 
改变默认的输入输出流,取得系统变量
System.getProperty("sun.boot.class.path");
Random和Math可取得随机数(Math.random());
  • 工具类(java.util):在java.util包中主要是集合(Collectioin)类,完全按照面向对象的思想设计,主要父接口是Collection和Map接口,Map接口存储键值对:
  • [list]
  • 由Collection派生出List和Set接口,区别能否存储相同元素,有人会奇怪List中包含get(int index)方法,而Set中并没有:
  •              因为List是按加入的顺序来储存元素的,所有的元素可通过get(int index)方法来取得,相当于是数组,而Set的存储顺序并不固定,无法通过get(int index)方法取到,所以在Set中也就没有此方法;
  • 由List派生出ArrayList和Vector,ArrayList比Vector效率要高些,因为ArrayList不是线程同步的;
  • 由Set派生出HashSet和TreeSet,他们都不是线程同步的,HashSet通过哈希(hash)算法决定对象存储的顺序,而TreeSet根据对象所实现的compareTo()方法来决定储存的顺序,所以加入到TreeSet中的对象都要实现compareTo()方法;
  • 由Map接口派生出HashMap和HashTable,其中HashMap不是线程同步的,效率高些,在HashTable中包含了返回Enumeration的elements()方法,而HashMap中没有,原因何在:
  •        因为HashTable在JDK1.1时继承于Dictionary类,所以继承了elements()方法用于返回所有值的Enumeration,在JDK1.2才修改让它实现了Map接口,elements()方法仍然保留下来。
    继承于HashTable有个比较重要的类:Properties,它用于读取Java属性文件(.properties),简单示例:
             Properties prop = new Properties();
             prop.load(new FileInputStream(new File("db.properties")));  //读取属性配置文件
              String value = prop.getProperty(key);  //根据关键字取得属性值
    
    分享到:
    评论

    相关推荐

      Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

       《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供的视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 书籍 计算机书籍  《java jdk 7学习笔记》是作者多年来教学实践经验的总结...

      《良葛格Java JDK 5.0学习笔记》.rar

      包含java特性、java学习方法、网络资源汇总、jdk下载和安装、path与CLASSPATH的设置、java基本语法、关于对象的认识、数组、字符串(String类))、Ant简介、JUnit简介。 作者:林信良(网络化名良葛格) 学历:台湾大学...

      良葛格Java JDK 5.0学习笔记

      《良葛格Java JDK 5.0学习笔记》包含java特性、java学习方法、网络资源汇总、jdk下载和安装、path与CLASSPATH的设置、java基本语法、关于对象的认识、数组、字符串等等

      java基础笔记

      java初学者的学习笔记,很详细。 目录 0 第一节 7月15日 2 一、 IT行业相关介绍 2 二、C、C++和Java语言的比较 2 三、 JDK基础介绍 2 四、 面向对象与面向过程的比较 2 五、 Java相关介绍 2 六、 Path和Classpath...

      记录所有有关java的学习笔记.rar

      给大家分享一篇我之前在学习java过程中的关于java基础部分的笔记,比较详细,内容也比较多。 如有问题请指出以便修改,谢谢。 篇幅较长建议收藏浏览。 1 环境变量配置 JAVA_HOME:jdk路径 Path:要把jdk的bin目录...

      Java-notes:Java 知识梳理和学习笔记,计算机网络,数据结构,设计模式等

      Java 的学习笔记和整理的知识点,包含Java语言基础、Java服务端方向的框架、设计模式、计算机网络、算法、Java 虚拟机和数据库等多个方面的内容。想了解前端的内容参考,Android相关的内容参考。 目录结构 语言基础...

      J2SE技术总结-Java学习精华教程-电子书

      本书内容非常全面,涵盖了《Java编程思想》、《Java学习笔记》等书籍所有知识要点,并结合作者自己经验总结而编写,内容丰富程度胜过一切书籍 众所周知,一般书籍为了销售需要,往往很少的知识点,却需要添加大量的...

      JAVA入门学习笔记(1)– Collection集合的基础知识

      集合类4.1 集合的实现类4.1.1 ArrayList 4.1.2 LinkedList 4.1.3 Vecotor4.1.4 HashSet 4.1.5 LinkedHashSet 4.2 Conllections工具类5. 集合的遍历5.1 迭代器5.2 增强for循环(jdk1.5+)* 附加知识点1.数据结构1.1 栈...

      java文集

      ext学习笔记一 小试iBatis RIA(Rich Internet Application)的现状和未来 Java应用中域名解析不过期的解决方法 Java编程那些事儿45—数组使用示例1 一步步熟悉OFBiz 用Java做客户端调用.NET写...

    Global site tag (gtag.js) - Google Analytics