前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java程序员的日常 —— 《编程思想》持有对象

Java程序员的日常 —— 《编程思想》持有对象

作者头像
用户1154259
发布2018-01-17 15:01:09
5350
发布2018-01-17 15:01:09
举报

集合框架可以说是Java里面必备的知识点了,日常的使用中也会遇到各种情况需要使用到集合。下面就简单介绍下各种集合的使用场景:

List

List可以看做是数组,实现的方式有两种:

  • ArrayList 适合随机访问
  • LinkedList 适合做插入删除操作

Queue和Stack

这两种数据结构都可以通过LinkedList来实现

Map

Map用于保存键值对,常用的实现方式有:

  • HashMap 使用散列表实现
  • TreeMap 基于红黑树,保证键的排序
  • LinkedHashMap 基于链表的哈希,能保证插入的顺序性

Set

与Map相比,set不接受重复的值

实现的方式与Map类似。

工具类

其实就俩,Collections以及Arrays,有空就需要看看。

技巧

首先可以通过iterator遍历列表以及map。用户也可以自己定义iterator实现倒序遍历。

如:

代码语言:javascript
复制
class ReversibleArrayList<T> extends ArrayList<T>{
    public ReversibleArrayList(Collection<T> c){
        super(c);
    }
    public Iterable<T> reversed(){
        return new Iterable<T>() {
            public Iterator<T> iterator(){
                return new Iterator<T>(){
                    int current = size() -1 ;
                    public boolean hasNext(){
                        return current > -1;
                    }
                    public T next(){
                        return get(current--);
                    }
                    public void remove(){
                        throw new UnsupportedOperationException();
                    }
                };
            }
        };
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-05-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • List
  • Queue和Stack
  • Map
  • Set
  • 工具类
  • 技巧
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档