数组:
(1)长度开始必须指定,而且一但指定,不能修改。
(2)保存的必须为同一类型的元素。
(3)使用数组进行增加元素的代码--比较麻烦。
如果要添加数据则需要:
先扩容,也就是创建一个新数组,然后利用for循环将数组内容给新的数组。
集合:
(1)可以动态的保存任意多个对象,使用比较方便。
(2)提供了一系列方便操作对象的方法:添加add,删除remove,插入set,获取get。
(3)使用集合添加,删除新元素的代码简洁。
牢记:
1.单列集合(在集合中,放的是单个对象)= {“jack”,“tom”,“king”}
2.双列集合(在集合中,放的是键和值 )= {“tom”,“北京”} 里面就两组
解读:
1.集合主要是两组(单列集合,双列集合)。
2.Collection接口有两个重要的子接口List--Set,他们的实现子类都是单列集合。
3.Map接口的实现子类 是双列集合,存放的 K - V (就是键和值)。
4.牢记上面两个图的内容。
关于Collectin接口中对集合操作的方法(增删改查)
1.添加数据
List.add("a");
List.add(10);
List.add(false);
2.指定删除a元素
//指定删除a元素
List.remove("a");
//或者删除第几个元素
List.remove(2);
3.获取元素个数 size
//获取元素个数 size
System.out.println("List的个数为: " + List.size());
4.查找元素是否存在contains
//查找元素是否存在contains
System.out.println("查询List: " + List.contains("a"));
代码示范:
package Collection_;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class dog01 {
@SuppressWarnings({"all"})
public static void main(String[] args) {
//创建一个list的数组
List list = new ArrayList();
//然后添加三个对象的值
list.add(new Dog("tom",12));
list.add(new Dog("king",15));
list.add(new Dog("simth",19));
//使用迭代器输出
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object dog = iterator.next();
System.out.println(dog);
}
//for增强循环来输出
for(Object dog: list) {
System.out.println("dog: " + dog);
}
}
}
//创建一个dog类,然后给他私有方法以及get set方法
class Dog {
private String name;
private int age;
public Dog(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() {
return "Dog{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
运行结果: