一、集合介绍 点击此处返回总目录 二、集合的继承实现关系
三、Collection接口 一、集合介绍 集合是java提供的一种容器,容器就是用来存数据的。 那么,集合和数组都是容器,他们的区别是什么呢? 1.数组的长度固定,集合的长度可变。 2.集合中存储的元素必须是引用类型数据(对象类型)。数组既可以存普通类型,也可以存引用类型。 前面我们使用过ArrayList集合,首先回顾一下:【例1】【例2】 例1:
package cn.itcast.demo02; import java.util.ArrayList; public class Test { public static void main(String[] args) { ArrayList<Integer> arr = new ArrayList<Integer>(); arr.add(1); //int是基本类型,ArrayList集合本身不能存int型数据,但是由于java中有装箱机制,所以可以这么 写,java会自动封装成引用数据类型使用。 arr.add(2); arr.add(3); for(int i = 0 ; i<arr.size();i++){ System.out.println(arr.get(i)); } } } |
例2: //Person.java
package cn.itcast.demo01; public class Person { private String name; private int age; public Person(){} public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { //自动生成,重写toString()方法。 return "Person [name=" + name + ", age=" + age + "]"; } } |
//Test.java
package cn.itcast.demo01; import java.util.ArrayList; public class Test { public static void main(String[] args) { ArrayList<Person> arr = new ArrayList<Person>(); arr.add(new Person("liupc",24)); arr.add(new Person("lijing",22)); for(int i =0;i<arr.size();i++){ System.out.println(arr.get(i)); //调用toString()方法。 } } } |
运行结果: Person [name=liupc, age=24] Person [name=lijing, age=22] 除了ArrayList,还有很多种集合。我们学习集合,要学会三方面的知识: 1.会用集合存储数据。 2.能够遍历访问集合中的数据。 3.能会选集合,知道使用哪种集合。 二、集合的继承实现关系 所有的集合都是放在util包里面,集合的继承实现关系: 其中,Collection接口是Collection层次的根接口。即,所有用到的集合类都是他的实现类。 List中可以存储重复元素,Set中不能存储重复元素。List中的元素是有序的,Set中的元素是无序的。 无论学习哪个,都要先学习Collection。 三、Collection接口 Collection是集合中的根接口。所有的集合都是他的子接口或实现类。 collection中的常用方法(所有集合的实现类都必须拥有的方法): 1. boolean add(E e) //添加元素。【例1】 2. void clear() //清空。杯子还有,水倒了。【例1】 3. boolean contains(Object o) //判断是否包含元素。【例1】 4. int size() //返回集合中元素个数。【例1】 5. Object[] toArray() //把集合转成一个数组。返回的是一个存储对象的数组。【例2】 6. boolean remove(Object o) //删除对象o,如果有多个,则删除第一个。【例3】 小结: java当中表示长度有三种方式: 数组.length 属性,返回值int 字符串.length() 方法,返回值int 集合.size() 方法,返回值int 例1:
package cn.itcast.demo03; import java.util.ArrayList; import java.util.Collection; public class Test { public static void main(String[] args) { Collection<String> coll = new ArrayList<String>(); //多态 coll.add("aaa"); coll.add("bbb"); coll.add("ccc"); System.out.println(coll); //[aaa, bbb, ccc] System.out.println(coll.size()); //3 boolean b = coll.contains("aaa"); System.out.println(b); //true coll.clear(); System.out.println(coll); //[] System.out.println(coll.size()); //0 b = coll.contains("aaa"); System.out.println(b); //false } } |
例2:
package cn.itcast.demo04; import java.util.ArrayList; import java.util.Collection; public class Test { public static void main(String[] args) { Collection<String> coll = new ArrayList<String>(); coll.add("aaa"); coll.add("bbb"); Object[] a = coll.toArray(); //写String[]会报错。 for(int i = 0;i<a.length;i++){ System.out.println(a[i]); } } } |
例3:
package cn.itcast.demo04; import java.util.ArrayList; import java.util.Collection; public class Test { public static void main(String[] args) { Collection<String> coll = new ArrayList<String>(); coll.add("aaa"); coll.add("bbb"); coll.add("aaa"); System.out.println(coll); //[aaa, bbb, aaa] boolean b = coll.remove("aaa"); System.out.println(b); //true System.out.println(coll); //[bbb, aaa]。说明删除的是第一个"aaa" b = coll.remove("aaa"); System.out.println(b); //true System.out.println(coll); //[bbb] } } |
|