资讯专栏INFORMATION COLUMN

java数据结构(一) 数组array

张迁 / 314人阅读

摘要:数组最好写得支持泛型是自己自定义的一个类型不支持直接一个泛型,必须先一个,然后前面进行类型转换动态数组扩容部分复杂度震荡问题本来和操作,均摊的时间复杂度是但是如果操作到了需要扩容或缩容的元素,频繁的进行,然后又,这样一直是出现这样问题的原因

数组最好写得支持泛型
public class Array {

       #T是自己自定义的一个类型
          }

java不支持直接new一个泛型,必须先new一个Object,然后前面进行类型转换
data = (E[]) new Object[capacity]

动态数组:扩容部分
if size == length :
resize(2*data.length);

private void resize(int newcapacity) {

E[] newData = (E[]) new Object[newcapacity];
for(int i=0;i

复杂度震荡问题:本来removelast,和addlast操作,均摊的时间复杂度是O(n),但是如果操作到了需要扩容或缩容的元素,频繁的进行,removelast,然后又addlast,这样一直是O(n)
出现这样问题的原因呢:我们添加和删除时候的扩容太激进了,(too eager),应该元素个数变成总容量1/4的时候,我们只缩容到容量的一半,而不是过于激进,直接缩容到1/4

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77853.html

相关文章

  • 十道简单算法题二【Java实现】

    摘要:前言清明不小心就拖了两天没更了这是十道算法题的第二篇了上一篇回顾十道简单算法题最近在回顾以前使用写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用改写一下,重温一下。 前言 清明不小心就拖了两天没更了~~ 这是十道算法题的第二篇了~上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下,...

    Pluser 评论0 收藏0
  • Java知识点总结 (数组)

    Java知识点总结 (数组) @(Java知识点总结)[Java, Java数组] [toc] 一维数组 定义 用于存储同一类型数据的一个容器 可以对该容器中的数据从0开始进行编号 数组是对象 声明数组 元素类型 [ ] 变量名 等价 元素类型 变量名 [ ] 元素类型 [ ] 变量名 = new 元素类型 [元素的个数]; 元素类型 [ ] 变量名 = {元素1,元素2...}; 元素类型...

    terro 评论0 收藏0
  • Java 性能调优指南之 Java 集合概览

    摘要:单线程集合本部分将重点介绍非线程安全集合。非线程安全集合框架的最新成员是自起推出的。这是标准的单线程阵营中唯一的有序集合。该功能能有效防止运行时造型。检查个集合之间不存在共同的元素。基于自然排序或找出集合中的最大或最小元素。 【编者按】本文作者为拥有十年金融软件开发经验的 Mikhail Vorontsov,文章主要概览了所有标准 Java 集合类型。文章系国内 ITOM 管理平台 O...

    gnehc 评论0 收藏0
  • 八大基础排序总结

    摘要:不断执行这个操作代码实现快速排序用递归比较好写如果不太熟悉递归的同学可到递归就这么简单。 前言 大概花了一周的时间把八大基础排序过了一遍,这篇博文主要是用来回顾一下八大基础排序的要点和一些总结~ 回顾: 冒泡排序就这么简单 选择排序就这么简单 插入排序就这么简单 快速排序就这么简单 归并排序就这么简单 堆排序就这么简单 希尔排序就这么简单 基数排序就这么简单 总的来说:快速排序是用...

    maochunguang 评论0 收藏0
  • Chapter6 Java数组数组

    摘要:一维数组概述数组相同类型的数据按顺序会在内存中开辟一段连续的空间组成的一种引用数据类型数组的声明语法格式数据类型数组名或者数组类型数组名数组的创建语法格式数组长度必须指定格式先声明后创建数据类型数组名数组名数据类型数组长度格式声明的 Lecture1 一维数组概述 数组:相同类型的数据按顺序(会在内存中开辟一段连续的空间)组成的一种引用数据类型 数组的声明:语法格式 数据类型[]...

    sorra 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<