javase-collection-210408-01
- 什么是集合
- 集合继承图
- Collection常用方法
- 集合遍历迭代
- contains方法
什么是集合
集合就是一个容器,数组就是一个集合,它可以来容纳其他类型的数据
集合不能直接存储基本类型的数据,另外集合也不能直接存储java对象,
集合当中存储的都是java对象的内存地址,或者说是集合中存储的引用
注:集合在java中本身是一个容器,是一个对象,集合中任何时候储存的都是引用
在java中每一个不同的集合,底层会对应不同的数据结构。往不同的集合中存储元素,等于静啊数据放到了不同的数据结构当中。
数据存储的结构就是数据结构。不同的数据结构,数据存储方式也不同,例如:
数组(ArrayList),链表(LinkedList),二叉树(TreeSet),哈希表
集合在 java.util.* 中
java中的集合分为两大类:
1. 单个方式存储元素,这一类集合的超级父类接口:java.util.Collection
2. 以键值对儿的方式存储元素,这一类集合的超级父类接口:java.util.Map
集合继承图
Collection常用方法
package com.bgy01;
import java.util.ArrayList;
import java.util.Collection;
public class Test01 {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add(2021);
c.add(3.1415);
c.add(new Object());
c.add(new People());
c.add(true);
Object[] objs = c.toArray();
for (int i = 0; i < objs.length; i++) {
Object o = objs[i];
System.out.println(o);
}
System.out.println("集合中的元素个数是:"+c.size());
c.clear();
System.out.println("集合中的元素个数是:"+c.size());
c.add("白光一");
c.add("白小光");
c.add("迪迦");
c.add(1);
boolean flag = c.contains("白光一");
System.out.println(flag);
c.remove("迪迦");
c.remove(1);
System.out.println(c);
System.out.println(c.size());
c.clear();
boolean flag01 = c.isEmpty();
System.out.println(flag01);
}
}
class People{}
集合遍历/迭代
package com.bgy01;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class Test02 {
public static void main(String[] args) {
Collection c = new HashSet();
c.add("bgy");
c.add("bxg");
c.add(2021);
c.add(new Object());
Iterator iterator = c.iterator();
while (iterator.hasNext()){
Object obj = iterator.next();
System.out.println(obj);
}
}
}
contains()方法
Test03.java
package com.bgy01;
import java.util.ArrayList;
import java.util.Collection;
public class Test03 {
public static void main(String[] args) {
Collection c = new ArrayList();
String s1 = new String("bgy");
c.add(s1);
String s2 = new String("bxg");
c.add(s2);
System.out.println(c.size());
String x = new String("bgy");
boolean flag = c.contains(x);
System.out.println(flag);
}
}
Test04.java
package com.bgy01;
import java.util.ArrayList;
import java.util.Collection;
public class Test04 {
public static void main(String[] args) {
Collection c = new ArrayList();
User u1 = new User("bgy");
User u2 = new User("bgy");
c.add(u1);
System.out.println(c.contains(u2));
}
}
class User{
private String name;
public User() {
}
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (obj == this) return true;
if (obj == null || !(obj instanceof User)) return false;
User user = (User) obj;
return user.name.equals(this.name);
}
}