集合01
一、定义:可以存放不同类型元素的容器;
特点:1、用于存储对象;2、长度可变;3、可存放不同类型的元素;
二、数组和集合的区别;
1、数组和集合类都是容器;
2、数组长度是固定的,集合长度是可变的;
3、数组中存储数据类型是单一的,集合中可以存储任意类型的对象;
三、ArrayList总结
1、ArrayList底层是由数组去实现的,内存连续;
2、元素可以重复;
3、添加和删除元素很慢(由于是数组实现, 在增和删的时候会牵扯到数组增容, 以及拷贝元素. 所以慢);
4、查询很快(数组是可以直接按索引查找, 所以查找时较快);
5、元素的排放顺序是固定的;
代码范例(以一个动物类集合):
public class Animals {
private String name;
private int size;
public Animals() {
super();
}
public Animals(String name, int size) {
super();
this.name = name;
this.size = size;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
@Override
public String toString() {
return "Animals [name=" + name + ", size=" + size + "]";
}
}
-------------------------------------------------------------------------------------------------
import java.util.ArrayList;
import java.util.List;
public class ZooArrayList {
public static List lt=new ArrayList();
public static Animals an=new Animals("大象",99);
static{
lt.add(an);
lt.add(new Animals("熊猫",66));
lt.add(new Animals("长颈鹿",77));
lt.add(new Animals("狮子",88));
lt.add(110);
lt.add("动物园长");
}
public static void main(String[] args) {
List zoo=ZooArrayList.lt;
System.out.println(zoo);
// System.out.println(lt.size());
// System.out.println(lt.contains(110));
// System.out.println(lt.indexOf(an));
// for (int i = 0; i <lt.size(); i++) {
// System.out.println(lt.get(i));
// }
// for (Object ls : zoo) {
// System.out.println(ls);
// }
// List li=new ArrayList();
// li.add("大象");li.add("熊猫");
// li.add("长颈鹿");li.add("狮子");
// li.add("猴子");li.add("鳄鱼");
// li.add("犀牛");li.add("大象");
// li.add("大象");li.add("大象");
// li.add(66);li.add(147);
// li.add(226);li.add(88);
// System.out.println(li);
// for (int i = 0; i < li.size(); i++) {
// System.out.println(li.get(i));
// }
// for (Object ly : li) {
// System.out.println(ly);
// }
// li.clear();
// System.out.println(li);
// System.out.println(li.contains("小狗"));
// System.out.println(li.indexOf("猴子"));
// System.out.println(li.remove(4));
// Iterator it=li.iterator();
// System.out.println(it.hasNext());
}
}