javaSE21/9/16

集合框架

集合

  • 概念:对象的容器,定义了对多个对象进行操作的常用方法,可实现数组的功能
  • 和数组的区别
    1)数组长度固定,集合不固定
    2)数组可存基本类型和引用类型,集合只能存引用类型
  • 集合的位置:java.util.*;

Collection体系集合

Collection父接口

  • 特点:代表一组任意类型的对象
/**
 * Collection保存字符串
 */
public class Test {
    public static void main(String[] args){
        //创建对象
        Collection collection = new ArrayList();//ArrayList是List的实现类,List继承Collection
        //1) 添加元素
        collection.add("张三");
        collection.add("李四");
        collection.add("王五");
        System.out.println(collection.size());//输出集合的元素个数
        System.out.println(collection.toString());//输出集合字符串
        //2)删除元素
        collection.remove("张三");
        System.out.println(collection.toString());
        //3)遍历元素 第一种增强for
        for (Object object: collection) {
            System.out.println(object);
        }
        /*
        第二种 迭代器:专门用来遍历集合
        hasNext()有没有下一个元素
        next()获取下一个元素
        remove()删除当前元素
         */
        Iterator i = collection.iterator();//Iteratar遍历集合的接口
        while (i.hasNext()){
            String s = (String) i.next();//强转
            System.out.println(s);
        }
        //判断
        System.out.println(collection.contains("张三"));//contains方法判断有没有某个元素
        System.out.println(collection.isEmpty());//判断集合是否为空
    }
}
/**
 * Collection保存学生信息
 */
public class Test {
    public static void main(String[] args){
        //新建Collection对象
        Collection c = new ArrayList();
        //添加学生数据
        Student s1 = new Student("张三",20);
        Student s2 = new Student("李四",19);
        Student s3 = new Student("王五",19);
        c.add(s1);
        c.add(s2);
        c.add(s3);
        System.out.println(c.size());
        System.out.println(c.toString());
        //删除学生数据
        c.remove(s1);
        //遍历学生数据
        Iterator i = c.iterator();
        while (i.hasNext()){
            Student str = (Student) i.next();//强转
            System.out.println(str.toString());
        }
    }
}

List集合

  • List子接口
public class Test {
    public static void main(String[] args){
        //创建对象
        List list = new ArrayList();
        //添加元素
        list.add("苹果");
        list.add("小米");
        list.add(0,"华为");
        System.out.println(list.size());
        System.out.println(list.toString());
        //删除元素
        list.remove("小米");
        //遍历元素 1)for循环
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));//根据角标获取元素
        }
        //ListIterator可以向前向后遍历,可添加,删除
        ListIterator lit = list.listIterator();
        while (lit.hasNext()){
            System.out.println(lit.nextIndex()+":"+lit.next());
        }
        while (lit.hasPrevious()){
            System.out.println(lit.previousIndex()+":"+lit.previous());
        }
        //判断
        System.out.println(list.contains("苹果"));//判断某个元素是否存在
        System.out.println(list.isEmpty());//判断是否为空
        //获取位置
        System.out.println(list.indexOf("苹果"));
    }
}
posted @ 2021-09-16 22:43  想吃坚果  阅读(33)  评论(0)    收藏  举报