设为首页 加入收藏

TOP

Java实现具有迭代器的线性表(顺序表)(三)
2015-07-16 12:56:31 来源: 作者: 【 】 浏览:15
Tags:Java 实现 具有 线性 顺序
ementData, capacity);
? ? ? ? }
? ? }


? ? // 在顺序表的末尾添加一个元素
? ? public void add(T element) {
? ? ? ? insert(element, size);
? ? }


? ? // 删除顺序表中指定索引处的元素
? ? public T delete(int index) {
? ? ? ? if (index < 0 || index > size - 1)
? ? ? ? ? ? throw new IndexOutOfBoundsException("顺序表索引越界");
? ? ? ? T oldValue = (T) elementData[index];
? ? ? ? int numMoved = size - index - 1;// 计算需要移动的元素个数
? ? ? ? if (numMoved > 0) {
? ? ? ? ? ? System.arraycopy(elementData, index + 1, elementData, index,
? ? ? ? ? ? ? ? ? ? numMoved);
? ? ? ? }
? ? ? ? elementData[--size] = null;// 让垃圾回收器及时回收,避免内存泄露
? ? ? ? return oldValue;
? ? }


? ? // 删除顺序表中的最后一个元素
? ? public T remove() {
? ? ? ? return delete(size - 1);
? ? }


? ? // 判断顺序表是否为空表
? ? public boolean empty() {
? ? ? ? return size == 0;
? ? }


? ? // 清空顺序表
? ? public void clear() {
? ? ? ? Arrays.fill(elementData, null);// 将数组elementData中的每个元素都赋值null
? ? ? ? size = 0;
? ? }


? ? public String toString() {
? ? ? ? if (size == 0)
? ? ? ? ? ? return "[]";
? ? ? ? else {
? ? ? ? ? ? StringBuilder sb = new StringBuilder("[");
? ? ? ? ? ? for (int i = 0; i < size; i++)
? ? ? ? ? ? ? ? sb.append(elementData[i].toString() + ", ");
? ? ? ? ? ? int len = sb.length();
? ? ? ? ? ? // 删除由于上面for循环中最后添加的多余的两个字符 (一个是逗号,一个是空格符号)
? ? ? ? ? ? return sb.delete(len - 2, len).append("]").toString();
? ? ? ? }
? ? }


}


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇选择排序算法的Java实现 下一篇使用Java数组实现顺序栈

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: