java ArrayList类 集合
Posted yimian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java ArrayList类 集合相关的知识,希望对你有一定的参考价值。
集合框架(集合的由来及集合继承体系图)
* A:集合的由来
* 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少
* B:数组和集合的区别
* 区别1 :
* 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
* 集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象
* 区别2:
* 数组长度是固定的,不能自动增长
* 集合的长度的是可变的,可以根据元素的增加而增长
* C:数组和集合什么时候用
* 1,如果元素个数是固定的推荐用数组
* 2,如果元素个数不是固定的推荐用集合
* D:集合继承体系图
集合框架(Collection集合的基本功能测试)
* A:案例演示
*
基本功能演示
boolean add(E e)
boolean remove(Object o)
void clear()
boolean contains(Object o)
boolean isEmpty()
int size()
集合框架(集合的遍历之集合转数组遍历)
* A:集合的遍历
* 其实就是依次获取集合中的每一个元素。
* B:案例演示
* 把集合转成数组,可以实现集合的遍历
* toArray()
*
Collection coll = new ArrayList();
coll.add(new Student("张三",23)); //Object obj = new Student("张三",23);
coll.add(new Student("李四",24));
coll.add(new Student("王五",25));
coll.add(new Student("赵六",26));
Object[] arr = coll.toArray(); //将集合转换成数组
for (int i = 0; i < arr.length; i++) {
Student s = (Student)arr[i]; //强转成Student 才能访问student特有的方法 向下转型
System.out.println(s.getName() + "," + s.getAge());
}
集合框架(Collection集合的带All功能测试)
* A:案例演示
*
带All的功能演示
有两个集合 操作两个集合
boolean addAll(Collection c) //将集合A加入集合B中
boolean removeAll(Collection c)
boolean containsAll(Collection c) //判断调用的集合是否包含传入的集合
boolean retainAll(Collection c) //取交集
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("c");
c2.add("d");
c2.add("e");
c2.add("f");
//取交集,如果调用的集合改变就返回true,如果调用的集合不变就返回false
boolean b = c1.retainAll(c2); //取交集
System.out.println(b);
System.out.println(c1);
以上是关于java ArrayList类 集合的主要内容,如果未能解决你的问题,请参考以下文章