单例CrimeLab

  • 单例是特殊java类,仅存在一个实例,应用能在内存里存多久单例就能存多久,不用管activity,fragment的生命周期,方便获取
    两个要素:私有构造方法,get()方法

CrimeLab单例

public class CrimeLab {
    private static CrimeLab sCrimeLab;
    public List<Crime> mCrimes;

    public static CrimeLab get(Context context)
    {
       //仅存在一个CrimeLab实例,若无则创建有就直接返回
        if(sCrimeLab==null) {
            sCrimeLab = new CrimeLab(context);
        }
        return  sCrimeLab;
    }

    public List<Crime> getCrimes(){
        return mCrimes;
    }

    public Crime getCrime(UUID id){
        for(Crime crime:mCrimes){
            if(crime.getId().equals(id)){
                return crime;
            }
        }
        return null;
    }

    private CrimeLab(Context context){
        mCrimes=new ArrayList<>();
        for(int i=0;i<100;++i){
            Crime crime=new Crime();
            crime.setTitle("Crime#"+i);
            crime.setSolved(i%2==0);
            mCrimes.add(crime);
        }
    }
}
  • List java有序数组类,可获取,新增,删除元素
    常见list实现是ArrayList
    推荐在声明时直接使用List接口类型,这样创建或使用时可方便选取别的list实现比如linkedList
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,314评论 25 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 当我们谈交情的时候,我们最好别谈钱,当我们讲钱的时候,请尽量不要讲交情。 作为一名大学生,我对交情和钱的世界还是懵...
    _南铭阅读 737评论 0 0
  • 又到凤凰花朵开放的时候 想起某个好久不见老朋友记忆跟着感觉慢慢变鲜活染红的山坡道别的路口青春带走了什么留下了什么剩...
    李宛宸679阅读 222评论 0 2
  • 京剧 京剧(Beijing Opera)又称平剧、京戏,是中国影响最大的戏曲剧种,分布地以北京为中心,遍及全国。清...
    pain365日阅读 3,344评论 1 8