JAVA之数据结构

知识点总结:
一、数组:

    声明:
                        Object[] arr = new Object[长度];
                        Object[] arr = {o1,o2,o3};
                        Object[] arr = new Object[]{o1,o2,o3};
    赋值:arr[下标] = 值;

    获取数组长度:arr[下标] = 值;

    取值:arr[下标]
            普通for循环遍历for(int i=0;i<arr.length;i++){arr[i];}
            foreach 

    排序:冒泡排序:相邻两个元素依次比较,互换位置;
          选择排序:让未确定的第一个数依次和后面的比较,互换位置;
          Arrays.sort(arr); 按照自然升序排列;
          特点:长度一旦声明,不可改变;
          二维数组:赋值、遍历;

二、集合:

    特点:可变长度。

Collection接口:

        特点:有序、可重复;

        实现类ArrayList:
                                添加:
                                    add(Object obj);
                                    add(int i,Object obj);
                                    addAll(Collection c);
                                    addAll(int i,Collection c);

                                修改:
                                    set(int i,Object  newObj);

                                删除:
                                    remove(int i);
                                    remove(Object obj);
                                    removeAll(Collection c);
                                    retainAll(Collection c) 仅在列表中保留指定 collection 中所包含的元素;
                                                clear();

                                查询:
                                    get(int i) 根据下标查询元素,返回元素;
                                    contains(Object obj) 查询列表中是否包含指定元素,包含返回true;
                                    containsAll(Collection c) 查询列表中是否包含指定的多个元素,全部包含返回true;
                                    indexOf(Object obj) 查询指定元素第一次出现的下标,;返回下标索引,没有该元素返回-1
                                    lastIndexOf(Object obj) 查询指定元素最后一次出现的;下标,返回下标索引,没有该元素返回-1
                                    isEmpty() 判断列表是否为空,为空返回true;
                                                序列遍历:
                                    使用for循环for(int i=0;i<list.size();i++){list.get(i);}
                                    使用foreach循环;
                                    使用iterator迭代器;
                                    it.hasNext() 如果有下一个元素,返回true;
                                    it.next() 返回下一个元素;
                                    it.remove() 删除迭代器返回的最后一个元素;

                                其他方法:

                                获取长度:size()
                                        subList(int start,int end) 截取集合,从下标start(包含)到下标end(不包含)截取;
                                        toArray() 把列表转为数组,返回的是Object[];
                                补充:
                                    把数组转为List集合,Arrays.asList(arr);

子接口:Set

        特点:无序、不可重复;

        实现类:HashSet
                添加:
                    add(Object obj);
                    addAll(Collection c);
                修改:
                    set中没有修改的方法,可以间接修改,先删除、再添加;
                删除:
                    remove(Object obj);
                    removeAll(Collection c);
                    retainAll(Collection c) 仅保留 set 中那些包含在指定 collection 中的元素;
                    clear() 清除所有元素;
                查询:
                    contains(Object obj) 查询set中是否包含指定元素,包含返回true;
                    containsAll(Collection c) 查询set中是否包含指定的多个元素,全部包含返回true;
                    isEmpty() 判断set是否为空,为空返回true;
                遍历:
                    使用foreach循环;
                    使用iterator迭代器;
                    it.hasNext() 如果有下一个元素,返回true;
                    it.next() 返回下一个元素;
                    it.remove() 删除迭代器返回的最后一个元素;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值