`
云初静
  • 浏览: 29163 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

队列的优化_arraycopy_泛型_等比num

 
阅读更多
队列的优化有三:
1.利用arraycopy(Object src,int srcPos,Object dest,int destPos,int length))方法复制数组。这样不用每一次对队列进行操作时都要新建一个队列来存储,再复制给原队列。
2.新建数组时,可以按比例(num)增加或减少队列的长度。
3.将数据类型从string类型扩展成为泛型。

运用:
优化1.2的应用举例:
删除指定的元素
public void delete(int index){
//判断索引是否越界
if(index<0||index>=this.size()){
System.out.println("没有找到指定的元素!");
}
//判断能否按定比num减少数组长度。
else if((this.size()-initnum)%num==1){
// 创建数组array2
Object[]  array2 = new Object [array1.length-num];
// 将数组araay1中剩余的的元素赋值到数组array2中(分步复制)
System.arraycopy(array1,0,array2,0,index);
System.arraycopy(array1,index+1,array2,index+1,this.size()-index-1);
// 将数组array2赋给数组array1
array1 = array2;
}
else{
//直接删除array1中的元素
for (int i = 0; i < index; i++)
array1[i] = array1[i];
for (int i = index + 1; i < this.size()-1; i++)
array1[i - 1] = array1[i];
}
}


所犯错误:
当array1.size()<array1.length,直接插入一个元素时:
for (int i = 0; i < index; i++)
array1[i] = array1[i];
for (int i = index ; i <this.size(); i++){
array1[i+1] = array1[i]; }
1.当i为this.size()-1时,i+1为this.size(),有可能越界
2.此句表示将index为i的元素一直赋值给index后面的所有元素

疑点:
重载的构造方法怎样在ListTest中使用
public ListImp() {
}
public ListImp(int num) {
this.num = num;
}
public ListImp(int initNum, int num) {
this.initnum = initNum;
this.num = num;
}


总结tips:
1.测试方法时候一个一个来,便于发现错误     
2.尽量申明局部变量
分享到:
评论
5 楼 云初静 2011-11-08  
云初静 写道
luozhong915127 写道
恩,但还不只有这些呀
我的画板就这么多……就做了这么多 o(╯□╰)o

错了,是我的队列就这么多。。五子棋的还没写。弄完再说吧
4 楼 云初静 2011-11-08  
luozhong915127 写道
恩,但还不只有这些呀
我的画板就这么多……就做了这么多 o(╯□╰)o
3 楼 luozhong915127 2011-11-06  
恩,但还不只有这些呀
2 楼 云初静 2011-10-23  
JuliaAilse 写道
恩恩,还是这么总结好啊!

姐没基础,没什么话写。只能这样写。。。表学我,你还是多写点啦,呵呵
1 楼 JuliaAilse 2011-10-22  
恩恩,还是这么总结好啊!

相关推荐

    java jvm及性能优化_javajvm优化_Java性能分析_

    JVM性能优化是提升Java应用效率的关键环节,涉及到内存管理、垃圾回收、线程调度等多个方面。以下是对"Java JVM及性能优化"和"Java性能分析"的详细阐述: 一、JVM结构与工作原理 1. 类装载器:负责加载类文件,确保...

    hs_err_pid25734.log

    hs_err_pid25734.log

    System.arraycopy实现数组之间的复制

    ### System.arraycopy实现数组之间的复制 在Java编程语言中,`System.arraycopy()`是一个非常实用且高效的方法,用于在数组之间复制元素。此方法属于`java.lang.System`类,并且是一个静态方法,这意味着可以直接...

    javacard applet 开发实例 正常运行 带jar包

    i= JZSystem.readWriteMifare(JZSystem.MIFARE_PASSWORD_READ, buf, (short)0, (short)(AmbiqConstant.BLOCKS_PER_SECTOR*AmbiqConstant.SECTOR_NUM_OF_8+AmbiqConstant.BLOCK_NUM_OF_0)); if(i==0) ...

    实例183 - 自定义非泛型栈结构

    标题“实例183 - 自定义非泛型栈结构”涉及的是编程中的数据结构实现,具体是栈(Stack)这一概念。栈是一种线性数据结构,遵循“后进先出”(Last In First Out, LIFO)的原则。在这个实例中,我们将探讨如何不使用...

    使用System.arraycopy()实现数组之间的复制

    使用System.arraycopy()实现数组之间的复制

    基于java优先队列(PriorityQueue)的多路排序算法(含代码)

    在Java编程中,优先队列(PriorityQueue)是一种特殊的队列,它按照元素的优先级进行出队。这种数据结构在实现多路归并排序(Multi-Merge Sort)时非常有用,因为它能有效地处理多个已排序的输入流,并将它们合并成...

    Java-用数组实现栈-队列-线性列表

    Java 数组实现栈、队列和线性列表 Java 是一种广泛使用的编程语言,数组是 Java 中的一种基本数据结构。数组可以用来实现栈、队列和线性列表等数据结构。下面是使用 Java 数组实现栈、队列和线性列表的详细介绍。 ...

    Java_程序优化

    - **优化**: 使用`System.arraycopy()`方法可以一次性完成数组的复制,从而提高性能。 - **错误示例**: ```java int[] array1 = new int[100]; int[] array2 = new int[100]; for (int i = 0; i ; i++) { ...

    System.arraycopy和Arrays.copyOf

    `System.arraycopy` 和 `Arrays.copyOf` 都是Java中用于复制数组的方法,但它们在使用和处理异常情况上有所不同。这两个方法在处理数组复制时,提供了便利和效率,但各有其适用场景。 `System.arraycopy` 是一个...

    JAVA 面向对象程序设计第8章 内部类和泛型.pptx

    System.arraycopy(data, 0, newData, 0, index); data = newData; } data[index++] = ele; } public int getCount() { return index; } @Override public boolean hasNext() { return index &gt; 0; } ...

    ios 简易队列实现

    满足一些特殊需求 接口部分(队列支持需求) #import @interface XMQueue : NSObject ...- (NSArray *) arrayCopy; @end 实现方法 #import XMQueue.h @interface XMQueue() @property NSMutableArray *array; @pr

    ios实现简易队列

    本文实例为大家分享了ios实现简易队列的具体代码,供大家参考,具体内容如下 满足一些特殊需求 接口部分(队列支持需求) #import @interface XMQueue : NSObject ///队列追加 - (void)add:(id) obj; ///队列取出 - ...

    Java程序性能优化(23条).doc

    Java程序性能优化是提高应用程序效率的关键,特别是在处理大数据或高并发场景时。以下是一些针对Java性能优化的关键点,基于给定的文档内容: 1. 避免在循环条件中使用复杂表达式: 当循环条件包含复杂表达式时,...

    java程序设计实验代码

    1. **泛型类定义**:定义了一个名为`MyArray`的泛型类,其中包含一个`arraycopy`方法,该方法接受两个同类型的数组,并将第一个数组的内容复制到第二个数组中。 2. **主方法**:在`main`方法中创建了`MyArray`类的...

    35个Java代码性能优化总结.pdf

    ### Java代码性能优化总结 Java代码性能优化是一个广泛的领域,涉及多个方面,包括但不限于内存使用、循环效率、算法优化、集合框架使用等。本总结旨在汇总35个常见的Java代码性能优化技巧。 #### 1. 使用final...

    Java程序优化大全.pdf

    标题:“Java程序优化大全.pdf”描述:“Java程序优化大全.pdf”标签:“技术及资料”内容:Java程序优化方面的内容,包含了对Java程序中常见问题的优化策略和方法。具体包括了对集合类的使用优化,如Vector的使用;...

    215827_JAVA最佳性能优化.pptx

    【JAVA最佳性能优化】 在Java开发中,性能优化是一项至关重要的任务,因为它直接影响到应用程序的运行效率和用户体验。以下是一些关键的优化技巧,旨在帮助开发者提升Java程序的性能。 1. **方法内联和同步优化** ...

    java代码性能优化23种技巧

    **优化说明**: `System.arraycopy()`方法提供了高效的数组复制功能,其内部实现利用了平台特定的优化技术。因此,相比于使用循环逐个复制数组元素,这种方法能够显著提高性能。 #### 五、让访问实例内变量的getter/...

Global site tag (gtag.js) - Google Analytics