- 集合的理解和好处
1.可以动态保存任意多个对象,使用比较方便!
2.提供了一系列方便的操作对象的方法:add、remove、set、get等
3.使用集合添加、删除新元素,代码更简洁了。
集合的框架体系
- 集合主要分两组(单列集合,双列集合)
-
- Collection 接口有两个重要的子接口 List、Set,他们的实现子类都是单列集合
- Collection 接口有两个重要的子接口 List、Set,他们的实现子类都是单列集合
-
- Map接口的实现子类都是双列集合,存放的K-V
Collection接口和常用方法
- Map接口的实现子类都是双列集合,存放的K-V
// 说明:以ArrayList实现类来演示
public class Demo01 {
public static void main(String[] args) {
List list = new ArrayList();
List list2 = new ArrayList();
// add:添加单个元素
list.add("jack"); //可以加object 及他的子类。 (多态)
list.add(10); //本质上是list.add(new Integer(10));
list.add(true);
list2.add("list2");
list2.add("2");
list2.add("yes");
System.out.println("list="+list);
// remove:删除指定元素
//System.out.println(list.remove("jack"));
//System.out.println(list.remove(0));
System.out.println("list="+list);
// contains:查找元素是否存在
list.contains("jack");
System.out.println(list.contains("jack"));
System.out.println(list.contains(true));
// size:获取元素个数
int size = list.size();
System.out.println(size);
// isEmpty:判断是否为空
System.out.println(list.isEmpty());
// clear:清空
list.clear();//void
// addAll:添加多个元素
list.addAll(list2);
System.out.println("list="+list);
// containsAll:查找多个元素是否都存在
boolean b = list.containsAll(list2);
System.out.println(b);
// removeAll:删除多个元素
System.out.println(list.removeAll(list2));
}
Collection 接口遍历元素方式1------------------使用Iterator(迭代器)
public class CollectionIterator {
public static void main(String[] args) {
Collection col = new ArrayList();
col.add(new Book("三国演义", "罗贯中", 20));
col.add(new Book("小李飞刀", "古龙", 18));
col.add(new Book("红楼梦", "曹雪芹", 25));
System.out.println(col);
Iterator iterator = col.iterator();
while (iterator.hasNext()) {
Object o = iterator.next();
System.out.println(o);
}
}
}
class Book{
private String book;
private String writer;
private double price;
public Book(String book, String writer, double price) {
this.book = book;
this.writer = writer;
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"book='" + book + '\'' +
", writer='" + writer + '\'' +
", price=" + price +
'}';
}
public String getBook() {
return book;
}
public void setBook(String book) {
this.book = book;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
================================