实现列表项:find()&insert()&remove()&contains()&clear()

    function List() {
        this.listSize = 0;//列表的元素个数,属性
        this.pos = 0;//列表的当前位置,属性
        this.dataStore = []; // 初始化一个空数组来保存列表元素

        this.length = length;//返回列表中元素的个数
        this.toString = toString;//返回列表的字符串形式,方法

        this.append = append;//在列表的末尾添加新元素,方法

        this.find = find;//查找元素的位置,用于辅助
        this.insert = insert;//在现有元素后插入新元素,方法
        this.remove = remove;//从列表中删除元素,方法
        this.contains = contains;

        this.clear = clear;//清空列表中的所有元素,方法
    }

    function length() {
        return this.listSize;
    }
    function toString() {
        return this.dataStore;
    }

    function append(element) {
        this.dataStore[this.listSize++] = element;
        //后自加,在新位置添加元素,同时列表的元素个数加1
    }

    function find(element) {
        for ( var i = 0; i < this.dataStore.length; ++i) {
            if (this.dataStore[i] == element) {
                return i;
            }
        }
        return -1;
    }
    function remove(element) {
        var foundAt = this.find(element);
        if (foundAt > -1) {
            this.dataStore.splice(foundAt, 1);
            --this.listSize;
            return true;
        }
        return false;
    }
    function insert(element, after) {
        var insertPos = this.find(after);
        if (insertPos > -1) {
            this.dataStore.splice(insertPos + 1, 0, element);
            ++this.listSize;
            return true;
        }
        return false;
    }
    function contains(element) {
        for ( var i = 0; i < this.dataStore.length; ++i) {
            if (this.dataStore[i] == element) {
                return true;
            }
        }
        return false;
    }

    function clear() {
        delete this.dataStore;
        this.dataStore = [];
        this.listSize = this.pos = 0;
    }

    var names = new List();
    names.append("Cynthia");
    names.append("Raymond");
    names.append("Barbara");
    alert(names.toString());
    names.remove("Raymond");
    alert(names.toString());
时间: 2024-11-06 12:36:01

实现列表项:find()&insert()&remove()&contains()&clear()的相关文章

Android 可拖动列表项的ListView

需求分析 一个界面内两个ListView 我关注的栏目列表 上面的要长按后可拖动排序 点击减号后列表项消失 下面列表增加一行 同时存储相应字符串到本地作为标记 未关注栏目列表 普通ListView 点击加号后 该列表项消失 上面列表增加一行 UI如下 上代码 MainActivity public class MainActivity extends Activity { SharedPreferences preferences; SharedPreferences.Editor editor

css3实战版的点击列表项产生水波纹动画——之jsoop面向对象封装版

1.html: <!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <link rel="stylesheet" href="./css/reset.css"/>    <link rel="stylesheet" href="./css/animat

安卓ListView中CheckBox的使用(支持Item列表项的删除,全选,全不选)

ListView 自身提供了 CheckBox 只需要添加一行代码 getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 但是这种实现想要自己控制操作起来局限很多.所以我选择了自己添加CheckBox的方式.可以支持列表项的全选,删除,并保持数据的对应关系不会乱. 列表中的CheckBox选中状态与一个Map进行绑定,利用 adapter.notifyDataSetChanged();来更新界面. 效果如下: 下面直接看代码把.

监听JList列表项的单击事件

原文:http://blog.sina.com.cn/s/blog_5f1bfbd901015d5d.html 1 import java.awt.BorderLayout; 2 import java.awt.EventQueue; 3 import javax.swing.JFrame; 4 import javax.swing.JLabel; 5 import javax.swing.JList; 6 import javax.swing.JOptionPane; 7 import jav

IE问题——列表项图像

等我们实现列表时,经常会遇到一种情况:需要为列表的每一项的前面添加一个列表项图像. 我们在查阅W3C时会发现,在CSS中已经为我们提供了实现方法——“list-style-type”,我们来看看它的实现方法. 方法一(“list-style-type”属性): 1 ul { 2 list-style-type : square; 3 list-style-position: inside; 4 } 这样做的确能实现添加小方块,其中 的“inside”是为了保证小方块在列表项的内部,对于方块的大小

android学习笔记——利用BaseAdapter生成40个列表项

RT: main.xml ? 1 2 3 4 5 6 7 8 9 10 11 12 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"               android:orientation="vertical"        

我的Android进阶之旅------&gt;Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项

今天接到一个波兰的客户说有个APP在英文状态下一切运行正常,但是当系统语言切换到波兰语言的时候,程序奔溃了.所以首先我得把系统的语言切换到波兰语,问题是哪个是波兰语呢? 我还真的不认识哪个列表项代表着波兰语.如下图所示:进入到[设置]-[语言和输入法]-[语言]列表后,我就傻眼了,哪个是波兰语呢?本文将介绍如何在列表中找到相应语言所对应的列表项. ([Settings]-[Language & input]-[Language]) 哪个是波兰语呢?好吧,我只认识 日本语.中文.英语的几项,其他的

开源学习--SlideExpandableListView中的列表项动画实现框架分析

前面的话 开源项目Android-SlideExpandableListView是一个简单的介绍列表项动画展示的小型项目,分析这个项目可以对自定义框架及列表类动画实现有个比较清晰的认识,工作中中时常根据需求扩展定义自己的适配器,虽然具体需求不同,但架构类似,本文把最近关于该开源项目的研究心得整理分享,共同学习~ 项目简介 github地址https://github.com/tjerkw/Android-SlideExpandableListView 这是个入门级的列表项动画展示框架,实现效果如

ListView列表项

方法,在xml文件中添加一个ListView,然后在MainActivity中 private ListView listView; private ArrayAdapter<String> arr_adapter; listView = (ListView) findViewById(R.id.listView1); String[] arr_data = {"明明","丽媛", "彭辉", "倩倩", &quo