public class Test {
创新互联是一家以网络技术公司,为中小企业提供网站维护、网站制作、网站建设、网站备案、服务器租用、域名与空间、软件开发、微信小程序等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站欢迎联系:028-86922220
public static void main(String[] args) {
int length = 5;
int ai = 1;
String data = "data";
String[] array = insertArrar(data, ai, length);
data = delArray(array, ai, length);
System.out.println(data);
}
public static String[] insertArrar(String data,int ai,int length){
String[] array = new String[length];
array[ai] = data;
return array;
}
public static String delArray(String[] array,int ai,int length){
String data = "";
data=array[ai];
array[ai]=null;
for(int i = 0; iarray.length;i++){
System.out.println(array[i]);
}
return data;
}
}
public class SeqList{
final int defaultSize=10;
int maxSize;
int size;
Object [] listArray;
public SeqList(){
initiate(defaultSize);
}
public SeqList(int size){
initiate(size);
}
private void initiate(int sz){
maxSize=sz;
size=0;
listArray=new Object[sz];
}
public void insert(int i,Object obj) throws Exception{
if(size==maxSize){
throw new Exception("顺序表已满无法插入");
}
listArray[i]=obj;
size++;
}
public Object delete(int i) throws Exception{
if(size==0){
throw new Exception("顺序表已空无法删除!");
}
Object it=listArray[i];
for(int j=i;jsize-1;j++)
listArray[j]=listArray[j+1];
size--;
return it;
}
public Object getData(int i) throws Exception{
if(i0||isize){
throw new Exception("参数错误");
}
return listArray[i];
}
public int size(){
return size;
}
public boolean isEmpty(){
return size==0;
}
public int MoreDadaDelete(SeqList L,Object x)throws Exception{
int i,j;
int tag=0;
for(i=0;iL.size;i++){
if(x.equals(L.getData(i))){
L.delete(i);
i--;
tag=1;
}
}
return tag;
}
}
ArrayListInteger la = new ArrayListInteger();
ArrayListInteger lb = new ArrayListInteger();
//ArrayList 就是线性表.....如果问你具体怎么定义直接超ArrayList的源代码给他
la.add(3);
la.add(5);
la.add(8);
la.add(11);
lb.add(2);
lb.add(6);
lb.add(8);
lb.add(9);
lb.add(11);
lb.add(15);
lb.add(20);
SetInteger set = new HashSetInteger();
set.addAll(la);
set.addAll(lb);
for (Integer integer : set) {
System.out.print(integer+" ");
}
System.out.println("");
la.addAll(lb);
Collections.sort(la);
for (Integer integer : la) {
System.out.print(integer+" ");
可以用main函数和JUnit来写测试代码。main是最早使用的,但是现在更流行的测试工具是JUnit。
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
下面是一些具体的编写测试代码的技巧或较好的实践方法:
1. 不要用TestCase的构造函数初始化Fixture,而要用setUp()和tearDown()方法。
2. 不要依赖或假定测试运行的顺序,因为JUnit利用Vector保存测试方法。所以不同的平台会按不同的顺序从Vector中取出测试方法。
3. 避免编写有副作用的TestCase。例如:如果随后的测试依赖于某些特定的交易数据,就不要提交交易数据。简单的回滚就可以了。
4. 当继承一个测试类时,记得调用父类的setUp()和tearDown()方法。
5. 将测试代码和工作代码放在一起,一边同步编译和更新。(使用Ant中有支持junit的task.)
6. 测试类和测试方法应该有一致的命名方案。如在工作类名前加上test从而形成测试类名。
7. 确保测试与时间无关,不要依赖使用过期的数据进行测试。导致在随后的维护过程中很难重现测试。
8. 如果你编写的软件面向国际市场,编写测试时要考虑国际化的因素。不要仅用母语的Locale进行测试。
9. 尽可能地利用JUnit提供地assert/fail方法以及异常处理的方法,可以使代码更为简洁。
10.测试要尽可能地小,执行速度快。
11.不要硬性规定数据文件的路径。
12.利用Junit 的自动异常处理书写简洁的测试代码
事实上在Junit 中使用try-catch 来捕获异常是没有必要的,Junit 会自动捕获异常。那些没有被捕获的异常就被当成错误处理。
13. 充分利用Junit 的assert/fail 方法
assertSame()用来测试两个引用是否指向同一个对象
assertEquals()用来测试两个对象是否相等
14. 确保测试代码与时间无关
15. 使用文档生成器做测试文档。
import java.util.ArrayList;
import java.util.List;
public class Test
{
/**
* @param args
*/
public static void main(String[] args)
{
// 创建一个顺序表
ListString a = new ArrayListString();
a.add("a");
a.add("b");
a.add("c");
a.add("x");
a.add("d");
a.add("x");
// 按顺序输出创建的顺序表
for (int i = 0; i a.size(); i++)
{
System.out.println("序号:" + i + ", 值:" + a.get(i));
}
// 循环替换x为y
for (int i = 0; i a.size(); i++)
{
String value = a.get(i);
if ("x".equals(value))
{
a.set(i, "y");
}
}
// 按顺序输出替换后的顺序表
for (int i = 0; i a.size(); i++)
{
System.out.println("序号:" + i + ", 值:" + a.get(i));
}
}
}
Collections.reverse(list);
试试这个。
List l = new ArrayList();
l.add(1);
l.add(2);
l.add(3);
System.out.println(l);
Collections.reverse(l);
System.out.println(l);