定义:集合是一个类型不固定长度不固定的一个正对于对象的容器。
1.集合中只能存放对象,存放int型是转为Interger型后再存储的。
2.hashSet里的数据不可重复
3.ArrayList是实现List接口的,底层采用数组实现。
4.ArrayList 实现了Cloneable接口,即覆盖了函数clone(),能被克隆。
5.ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。
这里是将一个简单的对象数据放到了集合中,并将之赋给另一个对象,在打印出数据。
*import java.util.ArrayList;
import java.util.List;
public class People {
private String name;
private int age;
static ArrayList<People> list = new ArrayList<People>();
public People() {
super();
// TODO Auto-generated constructor stub
}
public People(String name, int age) {
super();
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;
}
public static void main(String[] args) {
People p1 = new People("zh",1);
list.add(p1);
People p2 = new People();
p2 = list.get(0);
System.out.println("1");
System.out.println(p2.getName());
}
}*
这里是通过ArrayList实现去重
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
public class DealSame {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(1);
list.add(2);
list.add(3);
for(int i = 0;i < list.size();i++) {
System.out.println(list.get(i));
}
list = new ArrayList<>(new HashSet<>(list));
for(int i = 0;i < list.size();i++) {
System.out.println(list.get(i));
}
}
}
直接打印list出现乱码
出现乱码的原因是java不支持向下转型。