易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA获得一个数组的指定长度的排列

import java.util.Stack;

/**
* JAVA获得一个数组的指定长度的排列组合。<br>
*
* @author JAVA世纪网(java2000.net, laozizhu.com)
*/
public class TestSequenceAll {
public static void main(String[] args) {
TestSequenceAll t = new TestSequenceAll();
Object[] arr = { 1, 2, 3 };
// 循环获得每个长度的排列组合
for (int num = 1; num <= arr.length; num++) {
t.getSequence(arr, 0, num);
}
}

// 存储结果的堆栈
private Stack<Object> stack = new Stack<Object>();

/**
* 获得指定数组从指定开始的指定数量的数据组合<br>
*
* @param arr 指定的数组
* @param begin 开始位置
* @param num 获得的数量
*/
public void getSequence(Object[] arr, int begin, int num) {
if (num == 0) {
System.out.println(stack); // 找到一个结果
} else {
// 循环每个可用的元素
for (int i = begin; i < arr.length; i++) {
// 当前位置数据放入结果堆栈
stack.push(arr[i]);
// 将当前数据与起始位置数据交换
swap(arr, begin, i);
// 从下一个位置查找其余的组合
getSequence(arr, begin + 1, num - 1);
// 交换回来
swap(arr, begin, i);
// 去除当前数据
stack.pop();
}
}
}

/**
* 交换2个数组的元素
*
* @param arr 数组
* @param from 位置1
* @param to 位置2
*/
public static void swap(Object[] arr, int from, int to) {
if (from == to) {
return;
}
Object tmp = arr[from];
arr[from] = arr[to];
arr[to] = tmp;
}
}
from:http://peterliuye.javaeye.com/blog/364395


相关文档:

Java中的容器

线性表,链表,集合,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
主要分为两个分支:
Collectio ......

JAVA小例子解析算法效率

今天本来想熟悉一下J2SE的内容,不想在编写过程中突然考虑到一个问题,JAVA算法的效率,大家先看我自己写的一个小例子:
public class NumSort {
 public static void mian (String args[]) {
  int a[] = new int[args.length];
  for (int i=0;i<args.length;i++) {
    ......

现在将java调用oracle存储过程的示例总结如下


学生在学习jdbc的时候,会问到怎么调用存储过程,现在将java调用oracle存储过程的示例总结如下。(关于调用sqlserver的存储过程将在下次进行小结请关注)
一:无返回值的存储过程
存储过程为:
•         create or replace procedure adddept(deptno number,dname varc ......

简单回顾Java基本概念

暂时这样理解,希望大家指出我的错误
1.hashcode and equals:
 
equals如果用来判断两个对象的内容是否相同,需要重写,因为equals() 默认是比较两个对象的引用。
 
hashCode() 是用来产生哈希玛的,而哈希玛是用来在散列存储结构中确定对象的存储地址的,象util包中的 带 hash 的集合类都是用这种存储结构 ......

Effective Java 学习笔记(1)

通常情况下,我们在写一个类时,一般会赋予它一个或几个public的构造函数,让外部程序能够创建对象. 然而,在effective java 中,从另一个角度告诫我们在使用public的构造函数前,先考虑用public 的静态函数来创建对象. 
其优点如下:
1. 一个静态的工厂函数,可以取不同的名字. 而构造函数的名字只能与类同名. 
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号