代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
List类
作者:
shanerer
/ 发布于
2014/9/10
/
467
package com.wj.MyList; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; public class MyList<E> implements Collection<E>{ private Object[] o; private int size; public MyList(int initialCapacity) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal Capacity: " + initialCapacity); this.o = new Object[initialCapacity]; } public MyList() { // 注意构造函数顺序 this(10); } // 返回列表大小 public int size() { return size; } // 返回此列表中指定位置上的元素 public Object get(int index) { if (index >= size || index < 0) throw new IndexOutOfBoundsException(); return o[index]; } // 判断列表中是否有元素 public boolean isEmpty() { return size == 0; } // 判断列表中是否包含指定的元素 public boolean contains(Object e) { if (e == null) { // 当e为null时,使用equals()会报错 for (int i = 0; i < size; i++) { if (o[i] == null) return true; } } else { for (int i = 0; i < size; i++) { if (o[i].equals(e)) return true; } } return false; } // 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组 public Object[] toArray() { return o; } // 将指定的元素插入此列表中的指定位置 public boolean add(Object e) { o = Arrays.copyOf(o, ++size); o[size - 1] = e; return true; } // 将指定的元素插入此列表中的指定位置 public void add(int index, Object e) { if (index > size || index < 0) throw new IndexOutOfBoundsException(); o = Arrays.copyOf(o, ++size); for (int i = size - 1; i > index; i--) { o[i] = o[i - 1]; } o[index] = e; } //按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部 public boolean addAll(Collection<? extends E> c){ Object[] e = c.toArray(); int a = size; int j = 0; size += e.length; o = Arrays.copyOf(o, size); for(int i = a; i < size; i++){ o[i] = e[j++]; } return true; } // 移除此列表中指定位置上的元素 public boolean remove(int index) { if (index >= size || index < 0) throw new IndexOutOfBoundsException(); for (int i = index; i < size - 1; i++) { o[i] = o[i + 1]; } o[--size] = null; //防止内存泄露 o = Arrays.copyOf(o, size); return true; } // 移除此列表中首次出现的指定元素(如果存在) public boolean remove(Object e) { for (int i = 0; i < size; i++) { if (o[i] == e) { for (int j = i; j < size - 1; j++) { o[j] = o[j + 1]; } o[--size] = null; //防止内存泄露 o = Arrays.copyOf(o, --size); break; } } return true; } // 将此 ArrayList 实例的容量调整为列表的当前大小 public void trimToSize() { int oldCapacity = o.length; if (size < oldCapacity) { o = Arrays.copyOf(o, size); } } //移除此列表中的所有元素 public void clear() { for(int i = 0; i < size; i++){ o[i] = null; } size = 0; } @Override public Iterator<E> iterator() { return null; } @Override public <T> T[] toArray(T[] a) { return null; } @Override public boolean containsAll(Collection<?> c) { return false; } @Override public boolean removeAll(Collection<?> c) { return false; } @Override public boolean retainAll(Collection<?> c) { return false; } }
试试其它关键字
List类
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
shanerer
贡献的其它代码
(
2
)
.
ip地址查询接口
.
List类
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3