初识集合结构体系

初识集合结构体系

A.集合分为单列集合和多列集合

*单列集合(Collection)
List集合:Vector、ArrayList、LinkedList...
Set 集合:HashSet、LinkedHashSet、TreeSet....
*双列集合(Map:)
Map 集合:HaspMap、Hashtable、TreeMap、LinkedHashMap、Properties...

B.图片详解

在这里插入图片描述

在这里插入图片描述

C.集合与数组

1.数组(存放任意类型,长度固定)
2.集合(存放对象类型,长度可变)

迭代器 Iterator

1、获取迭代器对象
Iterator<E> iter = c.iterator(); //获取迭代器 (不能更改集合的结果,即不能增加、删除数据)
ListIterator<E> listIter = ((ArrayList<E>) c).listIterator(); //获取迭代器 (可以实现增加、删除数据)
2、使用迭代器方法
iter.hasNext(); //是否存在下一个元素
E  e = iter.next(); //获取下一个元素
3、模板案例(快捷键 itit 回车)
//创建对象
	Collection<String> c = new ArrayList<String>();
//添加数据
	c.add("迪丽热巴");
	c.add("古力娜扎");
	c.add("蒙娜丽莎");
//获取迭代器    方式一 (不能并发修改)                          
	Iterator<String> iter = c.iterator(); 
//循环遍历迭代器 itit
	while (iter.hasNext()) {
	    String next =  iter.next();
	    System.out.println(next);
	}   
	
//获取迭代器    方式二 (可并发修改)                         
	Iterator<String> listIter = ((ArrayList<String>) c).listIterator(); 
//循环遍历迭代器 itit
	while (listIter.hasNext()) {
	    String next =  listIter.next();
	    if(next.equals("蒙娜丽莎")){
	        listIter.remove();//删除
	        ((ListIterator<String>) listIter).add("玛尔扎哈");//增加
	    }
	}   
//输出结果检验是否删除、增加成功
	 System.out.println(c.toString());

4、迭代器的注意事项
针对:iterator()、for each这两种方法
不能在遍历集合的过程当中进行修改的操作,否则会出现并发修改异常
并发修改异常: ConcurrentModificationException

泛型

1、泛型的好处
A.提前检查(运行时可能出现的类型转换异常,提前到编译时是否通过)
B.简洁代码(不需要手动向下转型,快捷键直接提示出来类型)
2、泛型应用场景
 
A.泛型类
    a.定义格式:
        修饰符 class 类名称<泛型>{ }   //定义未知不具体类型
    b.使用格式:(创建对象)
        类名称<具体类型> 对象名称 = new 类名称<具体类型>(); //使用已知具体类型
        
B.泛型方法
    a.定义格式:
        修饰符 <泛型> 返回值  方法名称 (参数){ 方法体; return 返回值; }  //定义未知不具体类型
    b.使用格式:(调用方法)
        具体返回值类型  返回值 = 方法名称(具体参数);  //使用已知具体类型

C.泛型接口
    a.定义格式:
        修饰符 interface 接口名称<泛型>{ }
    b.使用格式:(实现类或者创建实现类对象时候)
        第一种:修饰符 class 类名称 implements 接口名称<具体类型>{ }   //使用已知具体类型
        第二种:类名称<具体类型> 对象名称 = new 类名称<具体类型>(); //使用已知具体类型

D.泛型通配符
    a.含义: 
        不知道使用什么数据类型的时候,泛型可以使用 ? 
    b.格式:
        Collection<?>  可以传递各种泛型类型的对象 
        例如: 这些都可以传递 Collection<Object> Collection<String> Collection<Integer> 
    c.高级使用: (Number是Integer的父类)
        Collection<? extends Number> 只能接收 Number类型以及子类类型. (专业术语"泛型的上限")
        Collection<? super Number> 只能接收 Number类型以及父类类型. (专业术语"泛型的下限"
### 数据库基础知识 数据库是一种用于存储、管理和检索数据的技术体系结构。通过学习 SQL 和 MySQL,可以掌握如何操作关系型数据库系统。以下是关于数据库的一些基本概念以及入门教程: #### 一、什么是 SQL? SQL(Structured Query Language)即结构化查询语言,是用来访问和处理数据库的标准计算机语言[^1]。它主要用于执行以下任务: - 查询数据 - 插入、更新和删除记录 - 创建新表或修改现有表 - 设置权限等管理功能 #### 二、创建并使用数据库 要开始实际操作数据库,首先需要学会如何创建一个新的数据库,并能够进入该数据库进行进一步的操作。例如,在 MySQL 中可以通过 `SHOW DATABASES` 查看当前存在的所有数据库列表;接着利用 `USE 数据库名` 来选定具体的工作环境[^2]。 #### 三、备份与恢复机制 为了保护重要信息不丢失,定期做数据备份是非常必要的。在命令行下完成这项工作的常用方法如下所示: ```bash mysqldump -h主机 -u用户名 -p密码 数据库 表名 > 文件路径/文件名称.sql ``` 如果想要一次性导出多个表格,则只需依次列出它们的名字即可。当需要重新加载这些保存下来的数据时,先连接至目标数据库再运行下面这条指令便可实现自动化过程: ```sql SOURCE 路径/文件名称.sql; ``` #### 四、用户授权管理 对于不同的使用者来说赋予恰当级别的存取权利至关重要。比如给予某个特定账户完全控制某单一项目的能力就可以这样写成一句简单的赋权声明: ```sql GRANT ALL PRIVILEGES ON spring_blog.* TO 'root'@'%'; ``` 此句表示允许远程客户端作为 root 登录并对名为spring_blog 的整个集合拥有最高级别的操控自由度[^4]。 ### 总结 以上只是非常初步的内容介绍,随着深入研究还会接触到更多高级特性如索引优化策略、事务隔离级别调整等方面的知识点。希望这能帮助建立起对这一领域的大致认识框架!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值