有容乃大 -- Java 集合(List/Set/Map)

集合框架

  1. 学习方法 【知识点的理解和认识】
    (1) 执行流程[顺序 选择 循环]—>独立的方法的使用,对象:线程
    (2) 面向对象的编程思想
    将具有相同属性和行为的事物抽象出来,划分为类。每一个具体的事物就是一个对象,类是封装对象的属性和行为的载体,是构造对象的规范,对象即是类的实例。
    (3) 计算机 是按照程序高速处理海量数据的现代化电子设备
    (4) Java代码其实就是在处理数据
  2. 数据存储方式的回顾
    (1) 变量:存储单个数据
    (2) 数组:存储多个数据
  3. 设计一个容器类[基于数组实现的容器类]:掌握思想
    (1) 实际就是对数组或变量的封装,底层就是对数组和变量进行操作
  4. 设计了,查找,删除的方法:体现设计代码:面向对象
  5. 链表结构的概念
    (1) 单独设计一个节点类:存储数据的变量、存储下一个节点的地址的变量
    (2) 每一添加一个元素就是新创建了一个节点,然后让上一个节点保存新创建节点的地址。
  6. 基于变量实现链表结构:掌握思想:看懂代码一样重要

LIST

1、集合框架
(1) 在Java中已经设计好了一些类和接口,和我们之前模拟的容器类功能一样。实现了对底层数组和聊表结果的封装操作。这些类在Java中,我们叫做集合;
2、ArrayList类
(1) 概念:
① ArrayList是基于数字实现的,底层是对数组的操作
② 实现了可选列表操作,可插入null值
③ 便于元素的查找可修改
④ 线程不安全的,可通过封装实现线程同步
List list = Collections.synchronizedList(new ArrayList(…));
(2) 构造方法
① ArrayList();构造一个初试容量为0 的空列表,JDK1.6为10,JDK1.8为0;
② ArrayList(int i);构造一个初试容量为i 的空列表
③ ArrayList(Collection <? extends E> c);构造一个包含Collection列表中所有元素的列表
(3) 普通方法
① void add(E e);将指定元素添加到列表结尾
② void add(int index,E e);在指定索引位置插入指定元素
③ void addAll(Collection <? extends E> c);将Collection列表中的所有元素添加到列表结尾
④ void addAll(int index,Collection <? extends E> c);将Collection列表中的所有元素添加到列表指定索引处
⑤ void clear();清空列表中的元素
⑥ boolean contains(Object obj);判断集合列表中是否有指定元素
⑦ void ensureCapacity(int i);将列表增加指定的容量
⑧ E get(int index);返回指定索引的元素
⑨ int indexOf(Object obj);返回指定元素在列表中首次出现的索引
⑩ boolean isEmpty();判断集合列表是否为空,空返回true,非空返回false
11 int lastIndexOf(Object obj);返回指定元素在列表中最后一个出现的索引
12 E remove(int index);返回指定索引的元素,并返回
13 boolean remove(Object obj);删除集合中首次出现的指定元素,若想删除int型的元素,为避免与方法的索引值冲突,则应将int型数据包装为Integer或Object型。
14 E set(int index,E element);用指定元素替代指定索引的元素
15 int size();返回集合列表的元素个数
16 object[] toArray();返回集合的数组形式
17 void trimTosize();去掉多余的容量
3、LinkedList类
(1) 概念:
① LinkedList是基于链表实现的,每添加一个元素都会创建一个节点
② LinkedList便于快速的插入和删除元素
③ LInkedList提供了额外的 get 、remove、 insert方法对链表的头,尾进行操作
④ LinkedList可以作为:堆栈 FILO 队列 排队:FIFO 双端队列
⑤ 实现了可选列表操作,都可插入null值
⑥ LinkedList都是线程不安全的,但可以通过包装来保持同步
List list = Collections.synchronizedList(new LinkedList(…));
(2) 构造方法
① LinkedList();构造空列表
② LinkedList(Collection <? extends E> c);构造一个包含Collection列表中所有元素的列表
(3) 普通方法
① E element();获取但不移除列表头,若列表为空,则抛出异常
② E peek();获取但不移除列表头,若列表为空,则返回null
③ E pop();获取并弹出列表头,若列表为空,则抛出异常
④ E poll();获取并弹出列表头,若列表为空,则返回null
⑤ 其他方法与ArrayList类似
4、集合的遍历

LinkedList<String> list = new LinkedList<String>();
		list.add("A");
		list.add("B");
		list.add("C");
		list.add("D");
		list.add("E");
		System.out.println(list);
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QVariant list是指使用QVariant类型存储的列表数据。在引用\[1\]中的例子中,QList<int> list1被转换为QVariant类型的变量v。QVariant是Qt框架中的一个通用数据类型,可以存储各种不同类型的数据。除了基本类型(如int、double、bool)外,QVariant还支持存储容器类型,如QVariantMap、QVariantHash、QVariantList、QStringList等。\[2\]\[3\]所述的QVariantMap是QMap<QString, QVariant>的同义词,QVariantHash是QHash<QString, QVariant>的同义词。因此,QVariant list可以是一个QVariantList,其中存储了多个QVariant类型的元素。 #### 引用[.reference_title] - *1* [QList与QVariant互相转换](https://blog.csdn.net/cwj066/article/details/83211372)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [QVariantList使用说明](https://blog.csdn.net/quietbxj/article/details/106077872)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [有容乃大的QVariant之使用](https://blog.csdn.net/qq_45662588/article/details/121099444)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值