AI智能
改变未来

java集合-ArrayList学习笔记

集合和数组关系?

 

1)     集合是一种容器,可以存储多个数据.

2)     数组的长度是固定的,集合的长度是可变的.

3)     集合中存储的元素必须为引用类型数据,初始值为NULL

ArrayList集合类

ArrayList<E>集合:大小可变数组的实现

  <E>:是一种特殊的数据类型,泛型(泛型,用来将数据类型,作为参数进行传递.)

  在出现 E 的地方我们使用引用数据类型替换即可

   举例:ArrayList<String>,ArrayList<Student>

 

构造方法: ArrayList()

成员方法:

l   public booleanadd(E e):添加元素

l   public voidadd(int index,E element):在指定的索引处添加元素

集合元素增删改查举例:

import java.util.ArrayList;

publicclass demo_11 {

       publicstaticvoid main(String[] args) {

              ArrayList<String>list = new ArrayList<String>();

              // 添加元素:

              list.add(\”hello\”);// 添加helloworld

              list.add(\”world\”);

              // 获取元素

              list.get(0); // 获取第1个元素

              // 集合的长度(元素个数)

              list.size(); // 获取元素个数

              // 删除元素

              list.remove(1);// 删除第二个元素world

              // 修改元素

              list.set(0, \”modify\”); // 将hello改为modify;

              System.out.println(list); // 输出结果为modify

               //遍历获取每一个元素最标准的用法

              for(inti=0;i<list.size();i++){

                      String s =list.get(i);

                      System.out.println(s);   

              }

       }

}

集合元素功能方法:

1)     判断比较

 s1.equals(s2)  比较字符串的内容是否相同

 s1equalsIgnoreCase(String s2):比较字符串的内容是否相同,忽略大小写

 s1 startsWith(Stringstr):判断字符串对象是否以指定的 str 开头

 s1  endsWith(String str):判断字符串对象是否以指定的 str 结尾

获取功能方法

 int length():获取字符串的长度,其实也就是字符个数

 char charAt(int index):获取指定索引处的字符

 int indexOf(String str):获取 str 在字符串对象中第一次出现的索引,没有返回-1

 String substring(int start):从 start 开始截取字符串到字符串结尾

 String substring(int start,intend):从 start 开始,到 end 结束截取字符串;包括 start,不包括 end

转换功能方法

 char[] toCharArray():把字符串转换为字符数组

                     String s = \”abcde\”;//定义一个字符串

                         char[] chs =  s.toCharArray();   //字符串转换为字符数组

       System.out.println(chs[2]);

 String toLowerCase():把字符串转换为小写字符串

 String toUpperCase():把字符串转换为大写字符串

String[] split(String str)按照指定符号分割字符串

 

Iterator迭代器

l   集合的iterator方法,所以单列集合实现类均有该方法

l   iterator方法的返回值类型Iterator接口类型

l   Iterator接口的两个方法:hasNext与next方法

注意:在使用迭代过程中不要为集合添加/删除数据,防止并发异常.

三种方法遍历: 普通for 循环,迭代器,以及加强for循环遍历

 

 

 

泛型

 

1.     含有泛型的类:

1)     定义格式:修饰符 class 类名<代表泛型的变量> {  }

2)     使用格式:创建对象时,确定泛型的类型

2.     含有泛型的方法:

1)     定义格式:修饰符 <代表泛型的变量> 返回值类型方法名(参数){  }

2)     使用格式:调用方法时,确定泛型的类型

3.     含有泛型的接口:

1)     定义格式:修饰符 interface接口名<代表泛型的变量> {  }

使用格式:

2)     定义类时确定泛型的类型

3)     始终不确定泛型的类型,直到创建对象时,确定泛型的类型

使用泛型的好处

l  将运行时期的ClassCastException,转移到了编译时期变成了编译失败

l  避免了类型强转的麻烦

 

 

 

ArrayList 不是唯一的集合:

ü  TreeSet 以有序状态保持并可以防止重复

ü  HashMap 可以成对的name/value来保存与取出

ü  LinkedList 针对经常插入或者删除元素所设计的高效率集合

ü  HashSet 防止重复的集合,可以快速找寻相符的元素.

ü  LinkedHashMap可以记住元素插入顺序,也可以设定成依照上次元素存储的先后顺序 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » java集合-ArrayList学习笔记