静态数组类的封装(int类型)
发布日期:2021-05-10 09:25:18 浏览次数:15 分类:精选文章

本文共 3874 字,大约阅读时间需要 12 分钟。

������������������������int������������������������������������������������������������

  • ���������������������������������������������������������������������������10������������������������������������������������������������

  • ���������������private int[] data;���private int size;���������data������������������size������������������������������

  • ������������������������������������������������������������������

  • ������������������������������toString���������������������������������������������

  • ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    ���������������������������������

    ������������������������

    ������������������int���������������������������������������������������������������10���

    ���������

    1. private int[] data; ������������������������
    2. private int size; ���������������������������������

    ������������

    1. public Array(int capacity) { data = new int[capacity]; size = 0; }
    2. public Array() { this(10); }

    ������������

    1. public int getSize() { return size; }
    2. public int getCapacity() { return data.length; }
    3. public boolean isEmpty() { return size == 0; }

    ���

    1. public void add(int index, int e) { if (size == data.length) throw new IllegalArgumentException("������������"); if (index < 0 || index > size) throw new IllegalArgumentException("������������������"); int temp = data[index]; for (int i = index; i < size; i++) data[i] = data[i+1]; data[index] = e; size++; }
    2. public void addFirst(int e) { add(0, e); }
    3. public void addLast(int e) { add(size, e); }

    ���

    1. public int get(int index) { if (index < 0 || index >= size) throw new IllegalArgumentException("������������"); return data[index]; }
    2. public boolean contains(int e) { for (int i = 0; i < size; i++) if (data[i] == e) return true; return false; }
    3. public int find(int e) { for (int i = 0; i < size; i++) if (data[i] == e) return i; return -1; }

    ���

    1. public void set(int index, int e) { if (index < 0 || index >= size) throw new IllegalArgumentException("������������"); data[index] = e; }

    ���

    1. public int remove(int index) { if (index < 0 || index >= size) throw new IllegalArgumentException("������������"); int ret = data[index]; size--; if (size != 0) System.arraycopy(data, index, data, index, size - index); else Arrays.fill(data, 0); return ret; }
    2. public int removeFirst() { if (size == 0) throw new IllegalArgumentException("������������"); int ret = data[0]; size--; Arrays.fill(data, 0, size, data, size); return ret; }
    3. public int removeLast() { if (size == 0) throw new IllegalArgumentException("������������"); int ret = data[size-1]; size--; Arrays.fill(data, 0, size-1, data, size); return ret; }
    4. public int removeElement(int e) { int index = -1; for (int i = 0; i < size; i++) if (data[i] == e) { index = i; break; } if (index == -1) throw new IllegalArgumentException("���������������"); int ret = data[index]; size--; if (size != 0) System.arraycopy(data, index, data, index, size - index); else Arrays.fill(data, 0); return ret; }}

    toString������

    public String toString() {
    StringBuilder sb = new StringBuilder();
    if (size == 0) return "[]";
    sb.append('[');
    for (int i = 0; i < size; i++) {
    if (i > 0) sb.append(", ");
    sb.append(data[i]);
    }
    sb.append(']');
    return sb.toString();
    }

    ������������������������������������������int������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    上一篇:静态数组类的封装(泛型)
    下一篇:进程,线程,共享变量以及Java内存模型

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年04月26日 09时40分39秒