集合框架

参考博文

两大集合框架

  • Colection
    这里写图片描述
  • Map
    这里写图片描述
    深色为使用频率高的。

Collection

Set
|————HashSet:以哈希表的形式存放元素,插入删除速度很快。

List
|————ArrayList:动态数组
|————LinkedList:链表、队列、堆栈。

Collection 方法

  • ArrayList & LinkedList 都适用。
//先创建列,在对列进行操作。
        LinkedList<Integer> list = new LinkedList<Integer>();
        for (int i = 0; i < 10; i++) {
            Random random = new Random();
            double x = random.nextDouble();
            list.add((int)(x*100));
            Collections.sort(list);//排序
            Collections.reverse(list);//倒叙排列
            Collections.shuffle(list);//洗牌,随机排序
        }

List

  • ArrayList实现了List接口
ArrayList
  • 常用方法示例
        ArrayList<Student> students = new ArrayList<Student>();//创建集合
        Student student1 = new Student(25,"eric");
        Student student2 = new Student(18,"rose");

        //添加元素
        students.add(student1);
        students.add(student2);

        //是否包含某元素,返回布尔类型。
        System.out.println(students.contains(student1));

        //获取指定位置的对象。
        Student student = students.get(0);

        //获取对象在集合中的位置
        System.out.println(students.indexOf(student1));

        //删除对象
        students.remove(1);//依据下标删除元素
        students.remove(student2);//依据元素名删除元素

        //替换某个元素
        students.set(0, new Student(25,"Eric"));

        //将集合转化为数组
        Student[] stu = students.toArray(new Student[] {});//注意转换格式。为什么是这样的。

        //导入另一个集合中的所有元素
        ArrayList<Student> another = new ArrayList<Student>();
        another.addAll(students);//将students集合中的元素全部导入到新的集合。

        //清空集合
        another.clear();
LinkedList

set

HashSet
TreeSet
        //set不允许有重复的元素
        Set set = new HashSet();
        set.add("Bernadine");
        set.add("Elizabeth");
        set.add("Gene");
        set.add("Elizabeth");
        set.add("Clara");
        System.out.println(set);
        Set sortedSet = new TreeSet(set);//对内容进行了排序
        System.out.println(sortedSet);
//输出结果
        [Bernadine, Gene, Elizabeth, Clara]
        [Bernadine, Clara, Elizabeth, Gene]

Map

遍历

  • 迭代器遍历
        java.util.List<Student> students = new ArrayList<Student>();
        Student student1 = new Student(25,"eric");
        Student student2 = new Student(18,"rose");
        //添加元素
        students.add(student1);
        students.add(student2);

    //迭代器的while写法
     Iterator<Student> iterator = students.iterator();
     while (iterator.hasNext()) {
     Student student = iterator.next();
     System.out.println(student.getName());

     //迭代器的for 写法
    for ( Iterator<Student> iterator = students.iterator();iterator.hasNext();) {
      Student student = iterator.next();
      System.out.println(student.getName());
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值