ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
ArrayList继承了AbstractList,并实现了List接口。在使用ArrayList之前需要导入它的包:
import java.util.ArrayList; // 引入 ArrayList 类
ArrayList<E> objectName =new ArrayList<>(); // 初始化
类方法:
方法 | 功能 |
---|---|
add() | 将元素插入到指定位置的 arraylist 中 |
addAll() | 添加集合中的所有元素到 arraylist 中 |
clear() | 删除 arraylist 中的所有元素 |
clone() | 复制一份 arraylist |
contains() | 判断元素是否在 arraylist |
get() | 通过索引值获取 arraylist 中的元素 |
indexOf() | 返回 arraylist 中元素的索引值 |
remove() | 删除 arraylist 里的单个元素 |
removeAll() | 删除存在于指定集合中的 arraylist 里的所有元素 |
isEmpty() | 判断 arraylist 是否为空 |
set() | 替换 arraylist 中指定索引的元素 |
sort() | 对 arraylist 元素进行排序 |
toArray() | 将 arraylist 转换为数组 |
toString() | 将 arraylist 转换为字符串 |
forEach() | 遍历 arraylist 中每一个元素并执行特定操作 |
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
// 引入 LinkedList 类
import java.util.LinkedList;
LinkedList<E> list = new LinkedList<E>(); // 普通创建方法
LinkedList<E> list = new LinkedList(Collection<? extends E> c); // 使用集合创建链表
方法 | 功能 |
---|---|
public boolean add(E e) | 链表末尾添加元素,返回是否成功,成功为 true,失败为 false。 |
public void add(int index, E element) | 向指定位置插入元素。 |
public boolean addAll(Collection c) | 将一个集合的所有元素添加到链表后面,返回是否成功,成功为 true,失败为 false。 |
public boolean addAll(int index, Collection c) | 将一个集合的所有元素添加到链表的指定位置后面,返回是否成功,成功为 true,失败为 false。 |
public void addFirst(E e) | 元素添加到头部。 |
public void addLast(E e) | 元素添加到尾部。 |
public boolean offer(E e) | 向链表末尾添加元素,返回是否成功,成功为 true,失败为 false。 |
public boolean offerFirst(E e) | 头部插入元素,返回是否成功,成功为 true,失败为 false。 |
public boolean offerLast(E e) | 尾部插入元素,返回是否成功,成功为 true,失败为 false。 |
public void clear() | 清空链表。 |
public E removeFirst() | 删除并返回第一个元素。 |
public E removeLast() | 删除并返回最后一个元素。 |
public boolean remove(Object o) | 删除某一元素,返回是否成功,成功为 true,失败为 false。 |
public E remove(int index) | 删除指定位置的元素。 |
public E poll() | 删除并返回第一个元素。 |
public E remove() | 删除并返回第一个元素。 |
public boolean contains(Object o) | 判断是否含有某一元素。 |
public E get(int index) | 返回指定位置的元素。 |
public E getFirst() | 返回第一个元素。 |
public E getLast() | 返回最后一个元素。 |
public int indexOf(Object o) | 查找指定元素从前往后第一次出现的索引。 |
public int lastIndexOf(Object o) | 查找指定元素最后一次出现的索引。 |
public E peek() | 返回第一个元素。 |
public E element() | 返回第一个元素。 |
public E peekFirst() | 返回头部元素。 |
public E peekLast() | 返回尾部元素。 |
public E set(int index, E element) | 设置指定位置的元素。 |
public Object clone() | 克隆该列表。 |
public Iterator descendingIterator() | 返回倒序迭代器。 |
public int size() | 返回链表元素个数。 |
public ListIterator listIterator(int index) | 返回从指定位置开始到末尾的迭代器。 |
public Object[] toArray() | 返回一个由链表元素组成的数组。 |
public T[] toArray(T[] a) | 返回一个由链表元素转换类型而成的数组。 |
import java.util.HashSet; // 引入 HashSet 类
HashSet<String> sites = new HashSet<String>();
方法 | 功能 |
---|---|
boolean add(E e) | 如果指定的元素尚不存在,则将其添加到此集合中。 |
void clear() | 从该集中删除所有元素。 |
Object clone() | 返回此 HashSet实例的浅表副本:未克隆元素本身。 |
boolean contains(Object o) | 如果此set包含指定的元素,则返回 true 。 |
boolean isEmpty() | 如果此集合不包含任何元素,则返回 true 。 |
Iterator iterator() | 返回此set中元素的迭代器。 |
boolean remove(Object o) | 如果存在,则从该集合中移除指定的元素。 |
int size() | 返回此集合中的元素数(基数)。 |
Spliterator spliterator() | 在此集合中的元素上创建late-binding和失败快速 Spliterator 。 |
用法为:
import java.util.HashMap; // 引入 HashMap 类
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
方法 | 功能 |
---|---|
clear() | 删除 hashMap 中的所有键/值对 |
clone() | 复制一份 hashMap |
isEmpty() | 判断 hashMap 是否为空 |
size() | 计算 hashMap 中键/值对的数量 |
put() | 将键/值对添加到 hashMap 中 |
putAll() | 将所有键/值对添加到 hashMap 中 |
putIfAbsent() | 如果 hashMap 中不存在指定的键,则将指定的键/值对插入到 hashMap 中。 |
remove() | 删除 hashMap 中指定键 key 的映射关系 |
containsKey() | 检查 hashMap 中是否存在指定的 key 对应的映射关系。 |
containsValue() | 检查 hashMap 中是否存在指定的 value 对应的映射关系。 |
replace() | 替换 hashMap 中是指定的 key 对应的 value。 |
replaceAll() | 将 hashMap 中的所有映射关系替换成给定的函数所执行的结果。 |
get() | 获取指定 key 对应对 value |
getOrDefault() | 获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值 |
forEach() | 对 hashMap 中的每个映射执行指定的操作。 |
entrySet() | 返回 hashMap 中所有映射项的集合集合视图。 |
keySet() | 返回 hashMap 中所有 key 组成的集合视图。 |
values() | 返回 hashMap 中存在的所有 value 值。 |
merge() | 添加键值对到 hashMap 中 |
compute() | 对 hashMap 中指定 key 的值进行重新计算 |
computeIfAbsent() | 对 hashMap 中指定 key 的值进行重新计算,如果不存在这个 key,则添加到 hasMap 中 |
computeIfPresent() | 对 hashMap 中指定 key 的值进行重新计算,前提是该 key 存在于 hashMap 中。 |
Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。
Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。
用法:
import java.util.Iterator; // 引入 Iterator 类
Iterator<E> it = jihe.iterator(); // 集合的iterator()方法
迭代器 it 的两个基本操作是 next 、hasNext 和 remove。
文章浏览阅读1.3w次,点赞22次,收藏77次。星号*的理解在C语言中, *的用途有两个,一个是用于表示乘号,第二个与指针有关。虽然这两种用途都会用到,但这两者没有任何关系。*在指针中的用途主要有两个方面,第一种是用在指针定义的时候,与前面的类型结合,用于表示被定义指针变量的类型, *的个数表明了定义的指针变量的级数,如下所示。int *p; int* p;*靠前靠后都没关系,这时的“与p是两个不同的东西,星号表明p是一个一级指针变量,用于存放一个一级地址。但是需要注意下面的情况。int *p1, *p2: // p1和p2都是in._*指针
文章浏览阅读1w次。CwRsyncServer在windows 2003 server上遇到这样的问题:@ERROR: chdir failed rsync error: error starting client-server protocol (code 5) at main.c(1495) [rec eiver=3.0.2] 解决办法:1)新建一个目录比如, 进入 开始菜单>_@error: chdir failed
文章浏览阅读1.2w次,点赞10次,收藏97次。转换器理论信噪比理想转换器对信号进行数字化时,最大误差为±1/2LSB,量化噪声近似于高斯分布,几乎均匀地分布于从DC至fs/2的奈奎斯特带宽。其量化误差可以通过一个峰峰值幅度为q(一个LSB的权重)的非相关锯齿波形来近似计算。现理论信噪比可以通过满量程输入正弦波计算,可以估计得到均方根量化噪声如下:因此,输入信号的均方根值为:因此,只考虑ADC量化噪声,理想N位转换器的均方根信噪比为:这就是信噪比SNR = 6.02N + 1.76dB的来源,考虑DC~FS/2带宽范围,并且有效位数增加1信_dac snr
文章浏览阅读1.3w次,点赞7次,收藏48次。取地址。单目运算符。用来取一个变量的地址。int i, *p;p = &i;//这里的&作用是取变量i的地址。位操作中的与操作运算符。也就是常说的and操作,双目运算符。计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0比如0x12&0x23 转为二进制为:B00010010&B00100011,按位计算结果为B00000010,即结果为0x02当两个&&一起用的时候,表示为逻辑运算中的与运._&在c语言中的作用
文章浏览阅读3.1k次。1.download pkg: https://golang.org/dl/2.install pkg with password3.config:$ vim .bash_profileexport GOPATH=$HOME/work_goexport GOBIN=/usr/local/go/binexport PATH="$PATH:$GOBIN"$ sour_mac govendor 安装
文章浏览阅读1.1k次。要进行单设备登录,在其他地点登录后,本地的其他操作会被拦截返回登录界面。原理就在于要在登录时在redis中存储Session,进行操作时要进行Session的比对。具体实现,假设我们的OAuth 2的登录调用接口如下:共享Session,User模块跟OAuth模块都要设置@Configuration@EnableRedisHttpSessionpublic class SessionConfig..._oauth2token为空回到登录页
文章浏览阅读2.3w次,点赞69次,收藏59次。培根说,『读书造成充实的人,会议造成未能觉悟的人,写作造成正确的人』。在短信短视频快速迭代的快时代,更深度的思考、更正确的实践,更成体系的写作与分享,尤显可贵。这里,每一篇博文都是开发者实战的经验解读;每一个笔触都是技术人潜心修炼的知识凝练。在CSDN网站的博客频道,数万人长年在键盘后面笔耕不缀,技术之心不止,以乐于分享的精神布道知识,砥砺精进技术。正是他们勤奋且毫无保留的分享,督促激励和感染着..._csdn有哪些嵌入式大佬
文章浏览阅读551次。刚接触到ZedGraph,到网上搜素到的方法基本上都是使用临时文件来存储图片,然后再显示,但是临时图片太多的话会占用大量的空间。很不划算。最后看到有人说把RenderMode="RawImage"就可以了 ,但是会出现乱码。如何解决呢?下面是我的方法。 新建一个目录,命名为bin,把文件ZedGraph.Web.dll,ZedGraph.d..._zedgraph 柱状图
文章浏览阅读150次。背景从MySQL.slow_log 获取慢查询日志很慢,该表是csv表,没有索引。想添加索引来加速访问,而csv引擎不能添加索引(csv引擎存储是以逗号分割的文本来存储的),只能改存储引擎来添加索引了mysql.slow_log表能改成myisam,不能改成innodbmysql> set global slow_query_log=off;Query OK, 0 rows affecte..._从库 alter table mysql.slow_log engine=myisam
文章浏览阅读126次。排列三 综合点评0-9分布图分析:组选图上看,号码重心分布在右侧,热码7,温码0本期开出。冷热码的分界岭明显,接下来考虑热码的开出,而小码0则可以重点关注,当前0、7,可防出其开 出其一。从邻孤传的出号参考02457,六码组合参考024567。分位走势图分析百位本期落在0路号区开出,下期看好大振幅走势,看好1路号区开出,参考定位 胆码4**;十位本期在0路号区开出,下期关注大振幅走势,看好2路号开...
文章浏览阅读216次。无_鸿蒙手表开发屏幕右滑时返回上一个abilityslice
文章浏览阅读332次。来源:8rr.co/GsAa面试题ES 写入数据的工作原理是什么啊?ES 查询数据的工作原理是什么啊?底层的 Lucene 介绍一下呗?倒排索引了解吗?面试官心理分析问这个,其实面试官就..._elasticearch 数据轮询