美文网首页
视图与适配器

视图与适配器

作者: 洞妖洞妖01 | 来源:发表于2020-05-21 20:27 被阅读0次

◆ 视图:类比数据库的视图概念。将集合类对象中的数据重新映射到一个数据集合中,但这个集合不是一个物理上存在的对象实体,而是对原集合类对象的再映射,数据物理地址未变,只是访问数据的接口变了。

◆ 适配器:适配器是指这样一个对象:它把功能委托给一个后备对象,从而为后备对象提供一个可以替代的接口。

例:Map接口的keySet方法返回该Map对象的Set视图,该视图包含该Map中所有的key。HashMap的keyset()方法返回了key的Set类型视图,其中采用了适配器模式,部分源码如下:

    public Set<K> keySet() {
        Set<K> ks = keySet;
        if (ks == null) {
            ks = new KeySet();
            keySet = ks;
        }
        return ks;
    }

    final class KeySet extends AbstractSet<K> {
        public final int size()                 { return size; }
        public final void clear()               { HashMap.this.clear(); }
        public final Iterator<K> iterator()     { return new KeyIterator(); }
        public final boolean contains(Object o) { return containsKey(o); }
        public final boolean remove(Object key) {
            return removeNode(hash(key), key, null, false, true) != null;
        }
        public final Spliterator<K> spliterator() {
            return new KeySpliterator<>(HashMap.this, 0, -1, 0, 0);
        }
        public final void forEach(Consumer<? super K> action) {
            Node<K,V>[] tab;
            if (action == null)
                throw new NullPointerException();
            if (size > 0 && (tab = table) != null) {
                int mc = modCount;
                for (int i = 0; i < tab.length; ++i) {
                    for (Node<K,V> e = tab[i]; e != null; e = e.next)
                        action.accept(e.key);
                }
                if (modCount != mc)
                    throw new ConcurrentModificationException();
            }
        }
    }

相关文章

  • 视图与适配器

    ◆ 视图:类比数据库的视图概念。将集合类对象中的数据重新映射到一个数据集合中,但这个集合不是一个物理上存在的对象实...

  • ListView简述

    1 数据适配器 数据适配器是连接数据源和视图的桥梁;作用:数据适配器是连接数据源和视图的桥梁,把复杂的数据(数组、...

  • ListView常用知识点归纳

    适配器 适配器实现过程:共3步:新建适配器-->添加数据源到适配器-->视图加载适配器 适配器的数据源:Array...

  • ListView

    三部曲 1,新建适配器2,给适配器添加数据3,视图(ListView)加载适配器 ArrayAdapter(集合或...

  • Android ListView控件

    首先,明确新建列表流程:新建适配器--》添加数据源到适配器--》加载适配器到视图 数据适配器的作用:把复杂的数据(...

  • Material Design之RecyclerView基本讲解

    RecyclerView简介 RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染...

  • 04-RecycleView的基本使用

    一、RecycleView的简介 RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的...

  • iOS中的设计模式常识(适配器、策略、工厂)

    一、适配器模式 ?:在控制器中关联VIew与Model,当这个视图的Model对象有多个的时候,在View中无法对...

  • RecyclerView

    RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式。它被作为ListView...

  • Android重拾 — RecycleView

    RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式。它被作为ListView...

网友评论

      本文标题:视图与适配器

      本文链接:https://www.haomeiwen.com/subject/ixdtahtx.html