`
l4432848
  • 浏览: 255303 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数组集合添加算法

    博客分类:
  • java
阅读更多

集合是无限存储的容器:

数组集合采用的算法是一开始先开辟好有限的空间进行存储放进来的数据。

等需要再次存放数据的时候,再去开辟一块比原来的空间多的容量之前,老的数据导入进新开辟的空间,然后再把新进来的数据放进空间里,依次这样进行开辟导入就形成了无限的容器。这就是数组集合的算法。 image

在java源码里面,采用的导入方式是直接调用本地系统语言来直接导入数据,这样提高了效率,一万毫秒才能完成的事情也许四千毫秒就执行完毕。

取消for循环导入使用System.arraycopy如下代码:

/**
 * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com 

 * @author 小沫
 */
//把objs的数据从最开始导入到objs1最开始的空间进行依次存放。objs里面有多少数据那么就导入多少。
System.arraycopy(objs,objs1,0,objs.length);

imageimage

//用下标得到数据
public Object get(int index){
return objs[index];
}
//得到大小
public int size(){
return index;
}

测试类:

public static void main(){
MyArrayList list=new MyArrayList();
long tem=System.currentTimeMillis();
for(int i=0;i<100000;i++){
list.add("abc"+i);
for(int j=0;j<list.size();j++){
System.out.println(list.get(j));
}
}
System.out.println("毫秒:"+(System.currentTimeMillis)-tem);
list.add("1231");
list.add("1232");
list.add("1233");
System.out.println(list.size());
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
分享到:
评论

相关推荐

    c# 中数组的算法 c# 中数组的算法,c# 中数组的算法

    在C#编程语言中,数组是一种非常基础且重要的数据结构,用于存储同类型的数据集合。本文将深入探讨C#中的数组及其相关算法,帮助你更好地理解和应用这些概念。 首先,我们要理解数组的基本概念。数组是预先分配内存...

    数组与集合的几个区别(五个)

    数组的这种特性使其成为实现某些算法(如排序、搜索等)的理想选择。然而,对于插入和删除操作,尤其是发生在数组中间位置的操作,需要移动大量元素以保持元素间的连续性,因此效率较低。 相比之下,**集合**(如...

    数组和集合的排序.rar

    集合支持多种操作,如添加元素、删除元素、判断元素是否存在等。 2. **集合的排序**: - **无序集合**:如Python的set,本身不支持排序,但可以通过转化为列表再进行排序。 - **有序集合**:如Java的TreeSet,...

    C++集合类的编写,用数组实现的

    总的来说,通过数组实现集合类是学习C++数据结构和算法的一个基础练习。它涵盖了基本的内存管理、数组操作以及集合操作的逻辑。这样的实践有助于理解和提升对C++编程的理解,特别是对于面向对象编程和数据结构设计的...

    算法练习集合,涵盖链表算法、数组算法、二叉树算法、动态规划、贪心算法、回溯算法.zip

    一个选择函数:用于选择要添加到解决方案中的最佳候选项 一个可行性函数:用于确定候选项是否可以为解决方案做出贡献 一个目标函数:为解决方案或部分解决方案赋值 解决方案函数:它将指示我们何时发现了完整的解决...

    数组的使用

    此外,各种算法和数据结构,如快速排序、归并排序、哈希表等,都离不开数组。 在实际开发中,数组常常与其他数据结构结合使用,例如,栈和队列可以基于数组实现。栈是后进先出(LIFO)的数据结构,可以用数组模拟;...

    第9章C#4.0数组和集合

    本章主要讨论了C# 4.0中的数组和集合的使用,包括一维数组、二维数组和多维数组,以及动态数组、队列、堆栈和哈希表等集合应用。 数组是C#中基本的数据结构之一,它是一系列相同类型的数据的集合,可以通过索引来...

    java集合与数组的相同点和不同点

    4. 数据存储:数组和集合都支持对数据的添加、删除和修改操作,尽管实现方式有所不同。 不同点: 1. 长度的可变性:这是数组和集合最显著的区别。数组的长度在声明时指定,之后不能更改,而集合的长度可以在程序...

    Arry查重_数组_labview_查重_

    在编程领域,数组是一种基础且重要的数据结构,用于存储同类型的数据集合。在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)环境中,数组的处理尤为重要,因为LabVIEW本身就是一种基于图形化编程...

    01 常用集合算法.rar_常用集合算法

    在编程领域,集合算法是解决问题的关键工具之一,尤其是在C++这样的高级编程语言中。这篇资料“01 常用集合算法.rar”显然是一个针对C++程序员的学习资源,旨在整理和归纳一系列常用的集合操作和算法。集合算法通常...

    用数组实现的简易通讯录

    在编程领域,数组是一种基础且重要的数据结构,用于存储同类型的数据集合。在这个"用数组实现的简易通讯录"项目中,我们利用数组来构建一个简单的通讯录系统,该系统具备联系人管理的核心功能,包括添加、显示、查询...

    Java笔记-集合与算法

    ### Java集合与算法知识点 ...此外,还讨论了集合与数组之间的转换方法以及常用的排序算法和二分查找算法。通过学习这些知识点,开发者可以更好地利用Java标准库中的工具,提高编程效率和代码质量。

    Java程序设计 3 数组与集合.pptx

    - `Collection` 是所有集合类的顶级接口,定义了基本的添加、删除和查询操作。 - `List` 是有序的集合,允许元素重复,常见的实现有 `ArrayList` 和 `LinkedList`。`ArrayList` 提供了快速的随机访问,而 `...

    工程实践 第一部分 题目一 求两个集合的合并运算 题目二 求两个有序表合并算法.zip

    合并两个集合,可以创建一个新的数组,遍历两个原始数组并依次添加不重复的元素。需要注意的是,数组在内存中预分配固定大小,因此在合并时需要考虑新数组的大小,避免溢出。 2. **链表实现**:链表由一系列节点...

    VB.net 源程序(插入、删除、排序、数组等)

    例如,创建一个新的SqlCommand对象,设置其CommandText属性为"INSERT INTO 表名 (字段1, 字段2) VALUES (@value1, @value2)",然后添加参数并执行命令。 2. **分类统计**: 分类统计可能涉及对数据进行分组、过滤...

    matlab 三维 数组 分类数组-修改分类数组-合并和删除类别 算法开发、数据可视化、数据分析以及数值计算 Matlab课程

    在Matlab中,三维数组和分类数组是两种重要的数据结构,它们在算法开发、数据可视化、数据分析以及数值计算中有着广泛的应用。本课程专注于讲解如何使用Matlab处理这些数据结构,特别是涉及到分类数组的修改、合并和...

    易语言提升加入数组速度

    在这个特定的场景中,我们关注的是如何在易语言中提升数组操作的速度,特别是向数组中添加元素的效率。 在易语言中,数组是一种非常基础且重要的数据结构,用于存储同类型的数据集合。然而,在处理大量数据时,如果...

    泛型集合与数组应用老师找学生

    使用泛型集合的优点在于它能够在编译时避免类型转换的开销,并且可以防止不兼容类型的对象被添加到集合中,从而减少运行时错误。例如,在“老师找学生”的场景中,我们可以创建一个泛型集合List来存储所有的学生信息...

    算法-数组逆序重存放(信息学奥赛一本通-T1105).rar

    2. **反转法**:可以先创建一个新的数组,然后从原数组的末尾开始,依次将元素添加到新数组的开头。最后,新数组即为逆序后的数组。 3. **一次遍历法**:通过一次遍历数组,用一个临时变量存储当前元素,然后将当前...

    最小生成树(二维数组实现)

    对于二维数组实现,Prim算法可以这样操作:初始化一个大小为顶点数的集合,将起始节点放入集合中,并将其余节点的权重设为无穷大。然后,遍历集合中的每个节点,查找与其相邻且权重最小的边,更新集合,直到所有节点...

Global site tag (gtag.js) - Google Analytics