java数据结构图文介绍以及相关实例源码



java数据结构图文介绍以及相关实例源码。

关联关系(逻辑结构):
1、集合
2、线性结构
3、树形结构
4、图状或网状结构

1、集合:
List、Set、Map是这个集合体系中最主要的三个接口。
其中List和Set继承自Collection接口。
Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。
List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。
Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是[......]

Read more

java常见线性结构图文介绍



java常见线性结构图文实例源码介绍。常用的线性结构有:线性表,栈,队列,数组线性表中包括顺序表、链表等,其中,栈和队列是特殊的线性表,只是属于逻辑上的概念,实际中不存在,仅仅是一种思想,一种理念;线性表则是在内存中数据的一种组织、存储的方式。

注意,哈希表是一种散列表:

若结构中存在关键字和K相等的记录,则必定存储在f(K)的位置上。由此,不需比较便可直接取得所查记录。这个对应关系f称为散列函数(Hash function),按这个思想建立的表为散列表。

线性结构是一个数据元素的有序集合。它有四个基本特征:

  1.集合中必存在唯一的一个”第一个元素”;

 [......]

Read more

java线程的运行状态图文介绍

java线程的运行状态图文介绍。

java线程的运行状态 - java4 - java

getpriority()获取优先级
setpriority()设置优先级
Thread.MAX_PRIORITY最大优先级
Thread.MIN_PRIORITY最小优先级
每个线程都具有各自的优先级,线程的优先级可以在程序中表明该线程的重要性,如果有很多线程处于就绪状态,系统会根据优先级来决定首先使哪个线程进入运行状态。
但这个并不意味着低优先级的线程得不到运行,而只是它运行的几率比较小。
Thread类中包含的成员变量代表了线程的某些优先级。如Thread.MIN_PRIORITY(常数1),Thread.MAX_PRIORIT[......]

Read more

java抽象类与接口实例源码介绍

java抽象类与接口实例源码介绍。

首先是抽象类:
是一种特殊的类,请注意,它是类!用abstract修饰。
它里有可以有未实现的方法,也可以有已实现的方法。未实现的方法,要用abstract修饰。已实现的方法,和普通的类中的方法没有区别。
它不能被实例化,只能被继承。
下面看一个例子
package wzq.j2se;

public abstract class Abstract1 {
public void af1(){
System.out.println(“Abstract1-af1″);
}
public abstract void af2();
pu[......]

Read more

java常用集合汇总以及总结

java常用集合汇总以及总结。java中,有一个接口叫做Collection,它是集合的老大。在它下面,我们常用的有List和Set两个他的小弟,这两个也是接口不是实现类。它们的区别是,List是有序的,而Set是无序的。

再往下分,List下还有Vector和ArrayList两位小弟,当然,还有LinkedList,它们都是实现类了!Vector和ArrayList的主要区别是:ArrayList是不线程同步的,而Vector是线程同步的。
而在Set的手下也有TreeSet和HashSet,它们也是实现类。

好,说到这里,大概搞清楚了它们的关系可以这样分:
Collect[......]

Read more

java int与Integer区别是什么

java int与Integer区别是什么?简单地说int是原始类型(也称内置类型、基本数据类型),而Integer是一个类,是引用类型。

引用类型的默认值是null,而原始类型的默认值和它们的类型有关。如果你写一个int a = null;这样肯定编译就无法通过!
当然,引用类型,它的对象可以调用这个类里面的方法,甚至访问这个类的变量。我们可以把它与String、Animal之类的类联系起来,它们其实是一样的!
比较常见的原始类型与引用类型:
boolean Boolean
char Character
byte Byte
short Short
int Integer[......]

Read more

JAVA线程同步中wait()与notify()简洁例子

JAVA线程同步中wait()与notify()简洁例子。请你务必搞懂线程同步的道理,否则,下面这一大篇你应该是看不懂的。
wait()和notify()一系列的方法,是属于对象的,不是属于线程的。它们用在线程同步时,synchronized语句块中。
我们都知道,在synchronized语句块中,同一个对象,一个线程在执行完这一块代码之前,另一个线程,如果传进来的是同一个object,是不能进入这个语句块的。也就是说,同一个对象
是不能同时被两个线程用来进入synchronized中的。这就是线程同步。
废话不多说,先用通俗一点的语言来解释一下wait()和notify():
w[......]

Read more

java匿名内部类用法总结实例源码

java匿名内部类用法总结实例源码。当需要extends一个类,或implements一个接口的时候,可以直接new一个这个类或接口的对象出来,然后在后面加{},里面写你准备写在子类里面的所有东西。

这样,new出来的这个对象就拥有了这个{}里面的所有东西。
举个例子说,假如你需要写
class A1 extends A{
public void fun(){
System.out.println(“A1-fun”);
}
}
然后
A1 a1 = new A1();
a1.fun();
这样就会调用到子类里面的方法。
这是一般写法。你还可以这样写:
A a =[......]

Read more

java String和StringBuffer的区别是什么实例源码比较

java String和StringBuffer的区别是什么实例源码比较。String 是final类,即不能被继承,为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.

StringBuffer也是个final类
但是StringBuffer有一个append()方法,可以对已存在的StringBuffer对象进行修改。
然后用toString把它转换成一个String类型。
看一个例子:
StringBuffer sbf = new StringBuffer(“a”);
sbf.append(“b”[......]

Read more

java面试题string的比较问题详细解决

java面试题string的比较问题详细解决。直接看代码,代码里的注释讲解了每一段代码的执行过程。

package wzq.j2se.obj;

public class StringDemo {

/**
* @param args
*/
public static void main(String[] args) {
String s1 = new String(“abc”);//这里会创建两个对象,两个对象内容都是abc。注意:s1是引用,不是对象。
/**
* 首先,查看string pool里面有没有”abc”,如果没有,就生成一个”abc”对象放在stri[......]

Read more