集合之ArrayList

简介: 正则表达式有固定的规律的格式,匹配字符串 1.用于字符串格式的校验 2.按照某种字符串的格式 进行拆分 替换 3.在比较大段的字符串中寻找 符合某种格式的子字符串 有一些匹配格式的符号写法 [abc] [^abc] [a-zA-Z] [a-z[^bc]] . \d \D \s \S \w \W 有一些用来匹配出现次数 ? 0-1 *0-n +1-n {n} {n,} {n,m} Pattern p = Pattern.compile("regex"); Matche

知识回顾

StringBuffer和StringBuilder类

   1.两个类的区别

       StringBuffer是早期版本  1.0

       StringBuilder是后来版本 1.5

       早期版本  线程同步    安全性高  效率低

       后期版本  线程非同步 安全性低 效率高

   2.所属的包 继承 实现关系

       java.lang包

       实现接口   Serializable,CharSequence,Appendable

       注意  String 实现的接口Serializable,CharSequence,Comparable

       String类中有一个compareTo方法   StringBuffer/StringBuilder  append方法

   3.如上两个类 可变字符串

       注意 String不可变字符串

   4.对象创建不太一样

       String 可以用常量 可以用构造方法

       如上两个类只能用构造方法  

   5.常用的方法

       String类中没有的方法

       append()  insert()  delete()  deleteCharAt()  reverse()

       String类中同名的方法

       charAt() codePointAt()  length()  indexOf()  lastIndexOf()

       substring()  replace()

       一般常用的方法

       ensureCapacity()  capacity()  setCharAt()  setLength()  trimToSize();

正则表达式regex (Regular  Expression)

   正则表达式有固定的规律的格式,匹配字符串

   1.用于字符串格式的校验

   2.按照某种字符串的格式 进行拆分 替换

   3.在比较大段的字符串中寻找 符合某种格式的子字符串

    有一些匹配格式的符号写法

    [abc]    [^abc]    [a-zA-Z]   [a-z[^bc]]

    .  \d  \D  \s  \S  \w  \W

    有一些用来匹配出现次数

    ? 0-1  *0-n +1-n  {n}  {n,}  {n,m}

    Pattern p = Pattern.compile("regex");

    Matcher m = p.matcher(str);

    m.matches();//String类中的方法类似

    m.find();  m.group();

包装类   数学相关  日期相关

字符串相关   集合相关  异常相关

IO相关   线程相关   网络相关   反射注解   *GUI

变量---容器

 存储一个元素

数组---容器

一组具有某种特性的数据存放在一起

 存储一组元素(数据类型一致) 长度固定

集合---容器  与数组类似  集合的长度存储之后还能改变

集合是用来存储一组元素

可以理解为集合是我们封装的Box  只不过比我们写的更加的优秀  更多的方法

集合java.util

   Collection Map

   存储的都是value 存储的是以key-value形式存在

   List Set  

   有序可重复 无序无重复 key无需无重复 value无需可重复

   序 : 顺序 添加进去的元素  取得元素的顺序一致   注意指的不是集合自己的顺序

   重复:两个对象元素一致

   ArrayList  Vector区别--->StringBuilder  StringBuffer

List集合

   1.ArrayList   3.Vector   2.LinkedList

   1.ArrayList----->底层就是一个数组

    所属的包 java.util

如何创建对象

无参数构造方法    带默认空间的构造方法    带collection参数的构造方法

常用的方法---小容器

 存 add

 取 get

 删 remove

 改 set

 个数  size

 add(E e)   add(int index,E e)

 addAll(Collection c);   add(int index,Collection c)

 clear();将集合内的全部元素清除

 boolean = contains(Object);找寻某一个给定的元素是否在集合中拥有

 ensureCapacity(int minCapacity);

 E = get(int index);

 int = indexOf(Object obj);  lastIndexOf();

 boolean = isEmpty();

 Iterator = list.iterator();//迭代器

 remove(int index)  remove(Object obj)

 removeAll()差集

 retainAll();交集

 E = set(int index,E value)

 int size();

 List = subList(int begin,int end);

 toArray(); 集合变成数组

 toArray(T[] );

 trimToSize();// 变成有效元素个数那么长

关于泛型的问题:

由于arrayList底层是一个Object[]  什么类型都可以存进去

取出来的时候多态的效果 需要自己造型 显得用起来非常的麻烦

JDK1.5之后--->泛型

用来规定数据类型的,定义的时候用一个符号代替某种类型

在使用的时候用具体的数据类型 将定义的那个符号替换掉

泛型可以用在哪里?

   1.泛型类

类定义的时候描述某种数据类型  集合的使用就是这样

   2.泛型接口

与泛型类的使用基本一致   子类实现接口时必须添加泛型

   3.泛型方法

方法调用时传参数   方法的泛型与类无关

      带有泛型的方法可以不放在带有泛型的类中

   4.高级泛型  规范边界  extends  super

总结

   集合有很多类是一个非常庞大的一个系统

   要了解以下几点:

   1.了解集合的每一个具体的分支 各自特点

   2.常用的集合的方法

   3.每一个集合的特点

   4.集合底层的原理

   5.最好能手动自己封装

目录
相关文章
|
6月前
|
存储 安全 Java
32.C#:ArrayList集合
32.C#:ArrayList集合
40 1
|
11月前
|
C#
C# 集合(ArrayList)的方法和使用
C# 集合(ArrayList)的方法和使用
|
11月前
|
存储 Java 索引
Java集合之List集合(上)
Java集合之List集合
97 0
|
11月前
|
存储 Java API
Java集合之List集合(下)
Java集合之List集合(上)
70 0
|
存储 uml 容器
集合框架之List集合
集合框架之List集合
66 0
|
存储 容器
集合框架系列(一)之 list集合
集合框架系列(一)之 list集合
|
存储 算法
|
存储 安全 C#
C#里面的不同集合(数组、ArrayList集合、List泛型)
在内存中连续存储,因此可以快速而容易地从头到尾遍历元素,可以快速地修改元素
|
存储 Java
使用Set集合及HashSet,TreeSet
使用Set集合及HashSet,TreeSet
66 0