`
duyangsss
  • 浏览: 127490 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

关于数组与链表之间转换效率

 
阅读更多
public static void main(String args[]) {
		List<String> strList = new ArrayList<String>();
		strList.add("username");
		strList.add("created");
		strList.add("disabled");
		strList.add("locked");
		strList.add("expired");
		long begin = System.currentTimeMillis();
		for(int index = 0; index < 100000; index++) {
			strList.add("duyang");
			strList.remove("duyang");
		}
		long end = System.currentTimeMillis();
		System.out.println("List cost : " + (end-begin));
		
		String[] strArray = new String[] {"username", "created", "disabled", "locked", "expired" };
		begin = System.currentTimeMillis();
		for(int index = 0; index < 100000; index++) {
			List<String> tempList = new ArrayList<String>(Arrays.asList(strArray));
			tempList.add("duyang");
			tempList.remove("duyang");
			strArray = tempList.toArray(new String[]{});
		}
		end = System.currentTimeMillis();
		System.out.println("array cost(include one times Arrays.aslist) : " + (end-begin));
	}

结果为:
List cost : 10
array cost(include one times Arrays.aslist) : 115
分享到:
评论

相关推荐

    python算法-数组和链表 数组和链表.pdf

    Python算法-数组和链表 Python算法中,数组和链表是两种常用的数据结构。它们都是用于存储和管理数据的,但是它们在实现和使用上有很大的区别。 数组是具有相同的数据类型且按一定次序排列的集合体。它的元素在...

    Java用数组和链表的方式简单实现HashMap的增删改功能 数组和链表.pdf

    当链表的长度大于8时,会将链表转换为红黑树,以优化查找效率。 结论 本文介绍了使用数组和链表的方式简单实现HashMap的增删改功能。HashMap的数据结构主要由数组、链表和红黑树组成。put方法用于将键值对添加到...

    在基于数组和链表的集成结构中存储数据的系统和方法 数组和链表.pdf

    总结来说,这个专利提供了一种新的数据存储模型,通过结合数组和链表的优点,解决了传统数据结构中内存消耗和时间效率之间的权衡问题。通过使用基于增量的机制,可以在保持高效数据处理的同时,降低内存占用,提高...

    数组表示循环链表约瑟夫环

    将数组转换为循环链表意味着数组中的最后一个元素“链接”到第一个元素,形成一个闭合的循环。 在C语言中,我们可以通过设置一个虚拟头节点(通常是数组的第一个元素)来实现这个概念。数组的每个元素代表链表中的...

    数组,链表和哈希表(Hashtable)1

    数组、链表和哈希表是计算机科学中最基础且重要的数据结构,它们各自有独特的优点和应用场景。在处理数据存储和检索时,选择合适的数据结构至关重要。 数组是一种线性数据结构,它在内存中占用连续的空间,每个元素...

    一个结合链表与数组于一体的高效数据管理类

    在这个高效数据管理类中,可能采用了类似“动态数组”的机制,当链表节点数超过一定阈值时,会转换为数组形式,以利用数组的快速索引特性;而在需要插入或删除元素时,又可以转换回链表形式,避免数组的移动元素开销...

    JavaScript将数组转换为链表的方法

    有时,我们可能需要将数组转换为链表,以便利用链表的优势。本文将详细介绍如何使用JavaScript实现这一转换,并探讨不同类型的链表,如单链表和循环链表。 首先,我们需要了解链表的基本概念。链表是由一系列节点...

    线性结构和非线性结构、稀疏数组、队列、链表(LinkedList) 数组和链表.pdf

    - 实现示例中给出了一个具体的转换过程,并展示了如何将稀疏数组写入文件。 ### 结论 通过对线性结构与非线性结构、稀疏数组的理解,我们可以更好地选择合适的数据结构来解决问题。线性结构因其简单易用而被广泛...

    图+查找+排序+循环链表+循环链表+数组+广义表+二叉树与树的转换+哈夫曼树.pptx

    这份名为"图+查找+排序+循环链表+循环链表+数组+广义表+二叉树与树的转换+哈夫曼树.pptx"的文档涵盖了多个关键知识点,下面将对这些主题进行详细解释。 1. **数组**:数组是最基本的数据结构,它允许存储具有相同...

    js代码-数组转链表,链表转数组

    在特定场景下,数组和链表之间的转换可能会提高程序的效率。以下将详细讲解如何在JavaScript中实现数组转链表以及链表转数组的方法。 一、数组转链表 1. 定义链表节点 在JavaScript中,链表通常通过定义一个Node类...

    [算法]快速排序,归并排序,堆排序的数组和单链表实现 数组和链表.pdf

    堆排序的基本思想是将数组转换成一个堆,然后将堆的根元素与最后一个元素交换,最后将堆减少一个元素,然后重复上述过程直到整个数组有序。 在实际应用中,快速排序、归并排序和堆排序都是非常有用的排序算法,它们...

    词频统计(数组或链表实现).rar_c语言 词频_eighthpo_regionr77_tone4nn_词频统计C语言

    4. **数据结构**:项目提供了两种实现方式——数组和链表。在数组实现中,每个元素存储一个单词及其出现次数;而在链表实现中,每个节点包含一个单词和计数,链表可以动态扩展以适应不同规模的输入。 - **数组实现...

    九章算法之链表与数组(Linked List & Array)

    例如,如何将排序链表转换为平衡二叉搜索树,或者如何删除单链表中间的节点等。这些问题可以看作是对基础概念的深入应用,它们考察了程序员对数据结构的理解以及编写高质量代码的能力。 整个课程内容不仅涵盖了链表...

    HashMap和链表的查找效率比较

    - **LinkedList**: 虽然插入和删除效率高,但由于查找也需要遍历,所以查找效率与`ArrayList`相同,也是O(n)。 **应用场景** - **HashMap**: 适用于需要快速查找、插入和删除,并且能接受偶尔的慢速查找(如存在...

    进制转换和随机建立数组

    综上所述,“进制转换”和“随机建立数组”是计算机科学中的核心概念,它们依赖于对数据结构如线性表和栈的理解与应用。通过深入学习和实践这些知识,开发者可以更好地掌握编程技巧,提高代码的效率和可读性。在实际...

    高效率多排序链表的合并算法,每次合并N个符合条件的结点,面对海量数据比传统新建表或逐个合并结点的效率要高很多,但算法相对复杂

    我们还定义了一个函数constractLinklist来将升序数组转换为链表结构。 知识点2:链表的合并算法 链表的合并算法是本资源的核心部分。该算法使用了两个指针linklistA和linklistB来遍历两个要合并的链表,它们分别...

    C C# 学生信息管理

    ### 数组与链表的潜在应用 尽管在提供的代码片段中没有直接使用数组或链表,但在一个完整的学生信息管理系统中,数组和链表是非常常见的数据结构。 - **数组**:可以用来存储一组学生信息,便于快速访问特定索引的...

    严蔚敏的数据结构,仅包含静态链表的代码,可直接在VS2019中运行 本静态链表为数组中仅包含一个主链表和一个备用链表

    1. 插入:在指定位置插入一个新元素,需要更新前后元素的指针,并可能涉及主链表与备用链表之间的转换。 2. 删除:根据给定的元素或位置删除一个元素,同样需要调整相邻元素的指针。 3. 查找:查找链表中特定元素...

    链表和数据库的操作包括插入和保存

    与数组不同,链表中的元素不连续存储,而是通过指针链接。这种特性使得链表在处理动态数据集时表现出良好的灵活性。 在C语言中,链表通常由结构体来定义,每个结构体称为节点,包含数据部分和指向下一个节点的指针...

    C实现的链表,集合,映射

    首先,链表是一种线性数据结构,与数组不同,它不连续存储元素。链表由一系列节点组成,每个节点包含数据以及指向下一个节点的指针。链表分为单向链表和双向链表,前者只能向前遍历,而后者可以向前或向后遍历。在...

Global site tag (gtag.js) - Google Analytics