今天我们就来简单的了解下java中的集合,有了解过得朋友都知道,也都用过,比如说做常用的List,还有Set、Map,而且像List和Set都是用于存储单列数据的集合,他们的父接口都是Conllection,List的特点是存储的值是有序且允许重复的,Set的特点是存储的元素是唯一、不可重复且无序的,而Map的特点则是用于存储双列数据的集合,存储的数据时无序的,键不可以重复,值可以重复。
通过无参构造方法的方式ArrayList初始化,则赋值底层数组Object elementData为一个默认空数组Object DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}所以数组容量为0,只有真正对数据进行添加add时,才分配默认DEFAULT_CAPACITY = 10的初始容量。
也就是说,expectedModCount 初始化为 modCount 了,但是后面 expectedModCount 没有修改,而在 remove 和 add 的过程中修改了modCount ,这就导致了执行的时候,通过 checkForComodification 方法来判断两个值是否相等,如果相等了,那么没问题,如果不相等,那就给你抛出一个异常来。
之前很多文章都讲过VBA数组。但是VBA数组比较鸡肋,功能比较弱,使用起来不是很方便,需要自行封装很多数组方法,这对于新手来说很不友好。今天给大家讲讲,怎么用.Net自带的ArrayList扩展VBA数组功能。前言要在VBA中使用.
Java集合框架的知识在Java基础阶段是极其重要的,我平时使用List、Set和Map集合时经常出错,常用方法还记不牢,于是就编写这篇博客来完整的学习一下Java集合框架的知识,如有遗漏和错误,欢迎大家指出。
构造方法和类名相同,构造器可以是任何访问修饰符,public private protected 或者没有访问修饰符,不能用非访问修饰符修饰,比如:static 、final、synchronized abstract都不能修饰构造方法。
我们知道在Java中有个比较特殊的引用数据类型,就是Java字符串String,对于它而言,可以算的上是真正的不可变,你只要创建一个String出来,那它就是不可变的,而且这个不可变是那种你没法改动的,你要是想进行任何的改动,都需要新创建一个String出来,你是没法对之前的做操作,对String字符串对象的任何改变都是建立在一个新的字符串对象之上!