`
sunmiracle
  • 浏览: 15169 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection接口   Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。 ...
1.static修饰一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为private私有,那么只能在类内部使用.   public class Test{ public stat ...
4.2 自动装箱和拆箱 基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。 4.2.1 autoboxing和unboxing 在Java中,所有要处理的东西几乎都是对象(Object),例如之前所使用的Scanner是对象,字符串(String)也是对象,之后还会看到更多的对象。然而基本(Primitive)数据类型不是对象,也就是您使用int、double、boolean等定义的变量,以及您在程序中 ...
摘要和关键字 1.       介绍 2.       定义简单的泛型 3.       泛型和子类继承 4.       通配符(Wildcards) 4.1.       有限制的通配符(Bounded Wildcards) 5.       泛型方法 6.       与旧代码交互 6.1.       在 ...
第八章 内部类 内部类 常规内部类在另一个类的波形括号内声明,单位与任何方法或其它代码块之外 内部类是封装类(外部类)一个完整的成员,因此,他能够使用访问修饰符标识,也能使用abstract或final修饰符标识,但是不能 ...
上界: 上界用extends关键字声明,表示参数化的类型可能是所指定的类型,或者是此类型的子类。如下面的代码: Java代码 public void upperBound(List<? extends Date> list, Date date)  {      Date now = list.get(0);      System.out.println("now==>" + now);      //list.add(date); //这句话无法编译      list.add(null);//这句可以编译,因为null没有类型信息  ...
要想解决“线程同步”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,代码如下: public synchronized void run() {      }     从上面的代码可以看出,只要在void和public之间加上synchronized关键字,就可以使run方法同步,也就是说,对于同一个Java类的对象实例,run方法同时只能被一个线程调用,并当前的run执行完后,才能被其他的线程调用。即使当前线程执行到了run方法中的yield方法,也只是暂停了一下。由于其他线程无法执行run方法,因此,最终还是会由当前的线程来继续执行。先看看下面的代码:    ...
第十章 开发 10.1.1 用javac编译 考试要求掌握的是 javac [options] [source files] 用-d选项编译,可以改变类文件的目标位置. 例如 myProject       |       |--source       |       |       |       |--com       |            ...
第九章 线程 9.1.1 定义线程 扩展java.lang.Thread类,重写run()方法。 Java代码 class MyThread extends Thread{  public void run(){  System.out.println("Important job running in MyThread");  }   }    实现java.lang.Runnable,实现run()方法。 Java代码 class MyRunnable implements Runnable{  public void run(){  ...
第七章 泛型与集合 7.1 重写hashCode()和equals()方法 考试目标6.2 区分hashCode()和equals()方法的正确设计和错误设计,并解释 == 和equals()方法的不同。 toString()方法 刚没有重写toString方法时,显示该对象哈希码的无符号十六进制表示。如: TestObject@a47e0.如果重写了该方法,则会显示该对象有意义的输出。例如System.out.println(Obj)的时候,就会出去toString方法中定义的行为。 SCJP考试拥有的Object类方法: boolean equals(Object obj) v ...
字符串 a=====b=====b=== a.*b 将匹配满足条件最长的字符串 a=====b=====b * 因为它比较贪,因此被称为贪婪量词。 贪婪量词的工作方式: 首先将:a=====b=====b=== 全部吃掉,从右边一个一个地吐出来 1. a=====b=====b=== 不匹配,吐出一字符 2. a=====b=====b== 不匹配,再吐出一字符 3. a=====b=====b= 不匹配,再吐出一字符 4. a=====b=====b 匹配了,结束。如果再不匹配继续吐,直到没有字符了,匹配失败 a.*? 将匹配满足条件最短的字符串 a=====b ...
//例子1: class Value { public int i = 15; } public class PassRefrence { public static void main(String argv[]) { PassRefrence t = new PassRefrence(); t.first(); } public void first() { int i = 5; Value v = new Value(); v.i = 25; second(v, i); System.out.println(v.i); } public void second(Value v, ...
第六章 字符串、I/O、格式化与解析 6.1 String、StringBuilder和StringBuffer 考试目标3.1 探讨String、StringBuiler、StringBuffer类之间的区别。 6.1.1 String类 字符串是不可变的对象,但是可以改变引用。 所以对String的修改其实是在堆中新建了一个对象,然后改变原来对象的引用。 如果将String引用重定向到新的String,则旧的String可能丢失。 6.1.2 关于String和内存的重要事实 JVM留出一块特殊的内存区域,称为“String常量池”。 当JVM发现新的Str ...
第五章 流程控制、异常与断言 5.1 if和switch语句 考试目标2.1 编写实现if或switch语句的代码,并辨别这些语句的合法变元类型。 if和switch语句通常被称作判决语句。在程序中使用判决语句时,是在要求程序计算一个给定的表达式,以判断要采取哪个操作。 5.1.1 if-else 分支 Java代码 int a = 10;  if(a>20){      //doStuff  }else if(a<20){      //doStuff  }else{      //doStuff  }  对于给定的if,可以有0个或者1个els ...
第四章 运算符 4.1 Java运算符 4.1.1 赋值运算符 复合赋值运算符(+=,-=,*=,/=) 要知道=右边的优先级永远高于+=或其他的复合赋值元素符。 4.1.2 关系运算符 相等性运算符 == 和 != 基本值的相等性 当比较字符时,Java使用字符 ...
Global site tag (gtag.js) - Google Analytics