2019独角兽企业重金招聘Python工程师标准>>>

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

集合框架:

System.arraycopy:
1.数组对象
2.从第几个下表开始拷贝
3.接受的数组对象
4.从第几个下表开始存放
5.要拷贝多长

使用System.arraycopy();拷贝方法,拷贝数组的参数,提高代码的执行效率。

改善集合每次new对象问题,不要每次传进参数都要new对象,所以我们在第一次创建对象数组时长度就为5,如果本次只传4-5个数据的话那就不需要重新new数组。然后创建一个属性index=0,然后objs[index++]=value;后加加,第一个值等于传进来的val;
问一下现在的数组长度是否能存储当前值,不能存储的话就重新new一个数组,长度是原来数组的1.75倍,新数组创建完成后就拷贝老数组的数据,从老数组的第0个下表,拷贝给新数组,新数组的第0个放,老数组有多长就拷贝多长,拷贝完成后覆盖老数组,让属性指向新数组。
然后objs[index++]=val;赋值。

get:用下表得到存放的数据,给一个下表判断是否大于等于index(存储下标后加加),大于就说明下标越界了。
size:数组存放数据的长度。反馈出去。

数组的删除:数组的删除就是覆盖。
比如我们申请一个数组,数组里面有“A”,“B”,“C”“D”,“E”,“F”,“G”。
假设我们要删除下标为3里面的数据,就犹如把“E”,“F”,“G”,复制一份粘贴在从 下标3开始的数组内。删除最后一个就直接数组长度减减。

判断下标是否越界,是越界的话直接抛出越界异常。
下标没越界的情况下询问它是不是要删除最后一个,是删除最后一个把该下标等于空。数组长度是7的话,减减后就是6,也就是数组对应的下标6,应为数组下标从0开始。(因为java在没有内存地址指向引用的情况下才会回收内存)
删除第一个的话,就是用System.arrycopy();老数组从下标第i+1个开始拷贝,拷贝给当前自己数组第i个(要删除的位置),拷贝长度是老数组长度减去-i-1的长度。

测试:移除第一个。

缩存储容器:请问当前objs.length/index>=3,符合的话就新申请一个数组,数组长度是来数组的2分之一,然后将老数组的第0个开始拷贝给新数组的0个,老数组有多长就放多长。(长度能被3整除删除一半的数组长度)

转载于:https://my.oschina.net/kaige123/blog/2052898

JavaSE—集合框架相关推荐

  1. [javaSE] 集合框架(Map概述)

    Map集合,将key对象映射到value对象 三个主要的子类:Hashtable,HashMap,TreeMap Hashtable:底层是哈希表数据结构,不允许使用null值,线程同步 HashMa ...

  2. [javaSE] 集合框架(迭代器)

    当我们创建一个集合以后,可以直接使用system.out.println()来打印这个集合,但是,我们需要可以对每个元素进行操作,所以,这里需要使用迭代器来遍历集合 迭代器其实就是集合取出元素的方式 ...

  3. JavaSE入门学习34:Java集合框架之Collection接口、子接口及其实现类

    一Collection接口 Collection接口定义了存取一组对象的方法,其子接口Set.List和Queen分别定义了存储方式. 使用Collection接口需要注意: 1Collection接 ...

  4. 黑马程序员——JavaSE之集合框架总结二

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 上一次对整个集合框架中全部包含的内容作了笼统的概念性的解释,这次只针对其中常用的几个集合进行仔细 ...

  5. java面向对象编程集合边框_java 面向对象编程-- 第15章 集合框架

    1.  集合特点:元素类型不同.集合长度可变.空间不固定 2.  java中对一些数据结构和算法进行了封装即集合.集合也是一种对象,用于存储.检索.操作和传输对象. 3.  JCF(Java Coll ...

  6. Java 容器集合框架概览

    Java Collections Framework 集合的概念 集合collection,有时叫做容器container,把多个元素组成一个单元. 早期的Java (pre-1.2) 中包含了Vec ...

  7. (Java集合框架)集合框架概述和Collection常用功能及遍历

    文章目录 集合概述 集合框架 Collection 常用功能 代码演示 集合遍历 Iterator接口 迭代器的实现原理 增强for 代码演示 集合概述 集合:集合是java中提供的一种容器,可以用来 ...

  8. Java集合框架全解

    Collection 集合 集合接口有2个基本方法: public interface Collection<E> {//向集合中添加元素.如果添加元素确实改变了集合就返回 true, 如 ...

  9. 13.集合框架ListSet

    JavaSE高级 集合框架List&Set 第1章 泛型 1.1 泛型概述 集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型.当我们在取出每一个对象, ...

最新文章

  1. 数据库更行通知_哪个更好? 数据驱动还是数据通知?
  2. 共享经济时代,中小企业该如何逆风翻盘?
  3. 计算机速录学什么,学速录的要求有哪些
  4. java properties配置文件_java properties配置文件操作
  5. vue-resource
  6. dbeaver 连接hbase 数据库
  7. linux date输出到文件,Linux常用命令--ls、cd、date用法
  8. javaweb学习总结五(内省、beanUtils工具包)
  9. IEEE 754——计算机中浮点数的表示方法
  10. 一道快手面试题,击败了100%用户
  11. 朱松纯:三读《赤壁赋》,从人工智能的角度解读“心”与“理”的平衡
  12. 计算机专业英语词库mdx,Mdict词库合集(22本实用词典)
  13. 红外接收头图片_红外接收头引脚定义图解
  14. 平面设计和3D建模哪个好找工作?
  15. 【不知出处】危险的迷宫 网络流 费用流
  16. 提高计算机软件速度的方法,小白看过来!提高电脑速度8种实用方法
  17. 如何快速建立一个优秀的账号体系
  18. 前端开发 SSR 是什么技术?
  19. 【大数据分析专业毕设之基于python爬虫的电影票房大数据预测分析+大屏可视化分析
  20. 一张图读懂PBN旁切转弯计算

热门文章

  1. CSS实现文本超过指定长度显示省略号
  2. [转]sqlserver2008锁表语句详解
  3. Linux查看文件夹大小的相关命令
  4. 如何使linux中java支持中文
  5. 白光驱动器替代指南(转)
  6. 初学者选黑卡还是微单_入门单反和微单相机该买哪个
  7. python困难_Python开发总感觉困难重重,可能是你没用上这些开发工具
  8. Hadoop之回收站
  9. easyui dialog 中嵌入html页面
  10. 移动端数据java后台接收