java数据容器:  

1.java数组:定长类型一致的数据容器 限制:使用数组的时候必须明确长度

2.JavaBean:java通过对属性的set/get的可重复使用数据类型

3.java集合:数据结构+算法构建的数据容器

                     数据结构:数组、链表、堆、栈、树。。。 +算法

                    高斯林  看到了C,C++语言存储数据的不方便 ,设计了Java集合 (Java存储各种数据                      的不同特性的容器)

Java集合:  Java.util包下       java.util.concurrent包下  多线程并发的

     java集合分为两个父类接口:Collection接口(值)和Map接口(键和值)

              Collection接口(值)又划分了两个父类接口:List接口存放数据   特点:有序可以重复

                                                                                   Set接口存放数据   特点:无序不可以重复

  Collection接口包含: 

                 1.List接口:有序可以重复

                                实现子类:

                                      Arraylist  数组         底层数据结构:数组     线程非安全(非同步)

                                     Linklist   链表          底层数据结构:链表 单向链表和双向

                                     Vector   向量           底层数据结构:数组     线程安全

                                      Stack   栈

Arraylist  数组 遍历很快      Linklist   链表 增删改查很快       Vector 速度很慢,但是线程安全

                 2. Set接口:无序不可以重复

                               实现子类:

                                    HashSet   哈希算法 

                                   TreeSet

  Map接口:

JavaBean:

JavaBean是参照数据库来定义的

table:t_stus, 字段:id, name, address

JavaBean 就是一个java类 是一个java的存取数据的java类

Stus类名:类中的变量 id,name,address 提供属性的set/get 属性要求首字母大写

java list中插入一个元素 java list添加数据_后端

选中,右键  source

java list中插入一个元素 java list添加数据_java_02

 自动生成方法:

java list中插入一个元素 java list添加数据_开发语言_03

 也可以选择在后面生成:

java list中插入一个元素 java list添加数据_开发语言_04

 

java list中插入一个元素 java list添加数据_数组_05

javabean:

java list中插入一个元素 java list添加数据_数组_06

 下面两个方法,从方法的参数角度   污染 参数少了(对象)   干净易用

java list中插入一个元素 java list添加数据_java_07

 javabean很方便,但是只能传递一个学生的信息。

数组:

java list中插入一个元素 java list添加数据_后端_08

 数组的增删改查:

java list中插入一个元素 java list添加数据_后端_09

改:

 

java list中插入一个元素 java list添加数据_后端_10

 删除:(下标删除)

java list中插入一个元素 java list添加数据_后端_11

 删除:具体对象

java list中插入一个元素 java list添加数据_java_12

删除所有:

java list中插入一个元素 java list添加数据_后端_13

清除:

java list中插入一个元素 java list添加数据_java list中插入一个元素_14

 

java list中插入一个元素 java list添加数据_后端_15

 包含:

java list中插入一个元素 java list添加数据_后端_16

arraylist 需要全部匹配(完全匹配),url不需要(模糊匹配):

java list中插入一个元素 java list添加数据_java_17

 

java list中插入一个元素 java list添加数据_java_18

 获取下标,有相同的默认取第一个,用last就是取最后一个:

java list中插入一个元素 java list添加数据_后端_19

 过滤重复:

java list中插入一个元素 java list添加数据_数组_20

 

java list中插入一个元素 java list添加数据_java list中插入一个元素_21

 写个4位不重复的验证码:

java list中插入一个元素 java list添加数据_后端_22

random.nextInt()的用法

1、不带参数的nextInt()会生成所有有效的整数(包含正数,负数,0)

2、带参的nextInt(int x)则会生成一个范围在0~x(不包含X)内的任意正整数

  例如:int x=new Random.nextInt(100);

    则x为一个0~99的任意整数

3、生成一个指定范围内的整数

调用方法randomInt(10,20);则会生成一个[10,20]集合内的任意整数

分割字符串:

java list中插入一个元素 java list添加数据_java_23

sublist:

java list中插入一个元素 java list添加数据_后端_24

 (百度)

fromIndex - 截取元素的起始位置,包含该索引位置元素

toIndex - 截取元素的结束位置,不包含该索引位置元素

所以结果为:

java list中插入一个元素 java list添加数据_后端_25

substring:

java list中插入一个元素 java list添加数据_后端_26

百度 

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。

java list中插入一个元素 java list添加数据_开发语言_27

链表形成栈,以及压栈 出栈:

java list中插入一个元素 java list添加数据_开发语言_28

正常顺序的链表:

java list中插入一个元素 java list添加数据_数组_29

 链表头和尾:

java list中插入一个元素 java list添加数据_java list中插入一个元素_30

stack 机制和linklist差不多;

Set接口:无序不可重复