1、add方法
一种是直接add对象,把对象加入最后面,一种是在指定位置加入
private static void addTest() {
// 创建一个集合,可以存放User类型
List<User> soldiers=new ArrayList<User>();
// 循环往集合中插入对象
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers);
// 向指定位置添加对象
soldiers.add(2, new User("军官"));
System.out.println(soldiers);
}
2、判断是否存在
使用contains判断是否包含
判断的标准:是否是同一个对象,而不是对象的值是否相同
private static void isContains() {
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
// 判断值相同的对象,结果是false
System.out.println(soldiers.contains(new User("士兵 2")));
User user =new User("士兵 1");
soldiers.add(user);
// 判断同一个对象,结果是true
System.out.println(soldiers.contains(user));
}
3、获取指定位置的元素
通过get获取指定位置的对象,如果输入的下标越界,一样会报错
private static void getTest() {
// TODO Auto-generated method stub
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers.get(0));
}
4、获取元素所处位置
使用indexOf获取对象的位置
判断标准:与contains一样,判断对象是否相同,而不是对象值相同
private static void indexOfTest() {
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers.indexOf(new User("士兵 2"))); //-1
User user =new User("将军");
soldiers.add(user);
System.out.println(soldiers.indexOf(user)); //5
}
5、删除集合中的对象
使用remove删除对象,入参可以是下标,也可以是对象
private static void removeTest() {
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers);
// 使用下标删除集合第二个位置的对象
System.out.println(soldiers.remove(1));
System.out.println(soldiers);
User officer =new User("军官");
User general =new User("将军");
soldiers.add(officer);
soldiers.add(general);
System.out.println(soldiers);
// 用入参对象的方式,删除值为将军的对象
System.out.println(soldiers.remove(general));
System.out.println(soldiers);
}
6、替换集合中的元素
使用set方法替换集合中的元素
private static void setTest() {
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers);
User user=new User("士官");
// 替换集合下标为4的对象
soldiers.set(4, user);
System.out.println(soldiers);
}
7、获取大小
size用户获取ArrayList大小
private static void sizeTest() {
// TODO Auto-generated method stub
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers.size());
}
8、将集合转化为数组
使用toArray可以把ArrayList对象转化为数组,需要注意的是,如果要转换为一个User数组,那么需要传递一个User数组类型的对象给toArray(),这样toArray方法才知道,你希望转换为哪种类型的数组,否则只能转换为Object数组
private static void toArrayTest() {
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers);
User user[]=soldiers.toArray(new User[]{});
System.out.println("数组"+user[2]);
}
9、在一个集合中加入另一个集合中的所有元素
使用addAll在一个集合中加入另一个集合中所有对象
private static void addAllTest() {
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers);
List<User> officers=new ArrayList<User>();
for (int j = 1; j <= 5; j++) {
officers.add(new User("军官 "+j));
}
System.out.println(officers);
// 将officers集合所有对象加入到soldiers集合,
// 也可以在指定位置加入
soldiers.addAll(officers);
System.out.println(soldiers);
soldiers.addAll(2, officers);
System.out.println(soldiers);
}
10、清空集合中的元素
使用clear 清空一个ArrayList
private static void clearTest() {
// TODO Auto-generated method stub
List<User> soldiers=new ArrayList<User>();
for (int i = 1; i <= 5; i++) {
soldiers.add(new User("士兵 "+i));
}
System.out.println(soldiers);
soldiers.clear();
System.out.println(soldiers);
}