数组列表容器
来源:互联网 发布:linux config 编辑:程序博客网 时间:2024/05/02 19:26
package NList;
public class NArrayList
{
private Object[] ArrayList;
private int size;
public NArrayList(){ this(10);}public NArrayList(int initial){ if(initial < 0) { try { throw new Exception(); } catch(Exception e) { e.printStackTrace(); } } ArrayList = new Object[initial];}public void add(Object obj){ if(size == ArrayList.length) { Object[] newArrayList= new Object[size * 2 +1]; System.arraycopy(ArrayList,0,newArrayList,0,ArrayList.length); ArrayList = newArrayList; } ArrayList[size] = obj; size++;}public void add(int index, Object obj){ RangeCheck(index); System.arraycopy(ArrayList,index,ArrayList,index +1,size - index); ArrayList[index] = obj; size++;}public int size(){ return size;}public boolean isEmpty(){ return size == 0;}public Object get(int index){ RangeCheck(index); return ArrayList[index];}public void remove(int index){ RangeCheck(index); int moveNumber = size - index -1; if(moveNumber > 0) { System.arraycopy(ArrayList,index+1,ArrayList,index,moveNumber); ArrayList[--size] = null; }}public boolean remove(Object obj){ if(obj == null) { for(int i = 0; i < size; i++) { if(ArrayList[i] == null) { remove(i); return true; } } } else { for(int i = 0 ; i < size;i++) { if(ArrayList[i].equals(obj)) { remove(i); return true; } } } return false;}public Object set(int index,Object obj){ RangeCheck(index); ArrayList[index] = obj; return ArrayList;}public void RangeCheck(int index){ if(index <0 || index >= size) { try { throw new Exception(); } catch(Exception e) { e.printStackTrace(); } } }
}
0 0
- 数组列表容器
- 泛型容器ArrayList—数组列表
- 自定义列表容器
- 列表容器list
- C++编写容器列表
- 数组、字符容器,对象容器
- servlet2.3的容器列表
- A020-列表容器之ListView
- A021-列表容器之GridView
- A022-列表容器之ExpandableListView
- Python内置容器之列表
- STL-顺序容器-列表list
- Java容器分析--数组
- Java容器分析--数组
- 数组和容器
- 容器通过数组初始化
- 数组与容器
- Java 容器与数组
- 外观模式——透过现象看本质
- bzoj 2724(分块)
- apache压力测试
- 136. Single Number E
- vim 操作
- 数组列表容器
- 【机房收费系统】上下机
- HHU 冒险游戏(risk_ganme)(玛德也是血泪。。。。)
- Class.forName的作用以及为什么要用它【转】
- Sqlite 读删查改
- 搭建Nginx+Java环境
- java用FileReader和FileWrite读取和写入字符
- Qt中获取文件夹路径的方法-QFileDialog::getExistingDirectory的使用
- 【Spring】解决 @ResponseBody返回中文字符串乱码以及生僻字被强制以unicode方式显示问题