MyArrayList
来源:互联网 发布:淘宝联盟一直登录界面 编辑:程序博客网 时间:2024/06/08 17:04
import java.util.*;
public class MyArrayList implements List{
public Object[] data;
private int count;
public MyArrayList(){//构造方法
// data=new Object[10];
this(10);
}
public MyArrayList(int initCap){//构造方法
data=new Object[initCap];
count=0;
}
public MyArrayList(Collection c){//构造方法
data=new Object[c.size()];
for(Object obj:c){
data[count++]=obj;
}
}
@Override
public void add(int index, Object element) {
// ???????????????????????
if(index<0||index>count){
System.out.println("下标不合法!");
}
if(count==data.length){
Object[] temp=new Object[2*data.length];
System.arraycopy(data,0,temp,0,data.length);
data=temp;
}
for(int i=count;i>index;i--){
data[i]=data[i-1];
}
data[index]=element;
count++;
}
@Override
public boolean add(Object e) {
// ??????????????????
add(count,e);
return true;
}
@Override
public boolean addAll(Collection c) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean addAll(int index, Collection c) {
// TODO Auto-generated method stub
return false;
}
@Override
public void clear() {
// ?????????????????????
for(int i=0;i<count;i++){
data[i]=null;
}
count=0;
}
@Override
public boolean contains(Object o) {
// ???????????????????????
for(int i=0;i<count;i++){
if(data[i].equals(o)){
return true;
}
}
return false;
}
@Override
public boolean containsAll(Collection c) {
// TODO Auto-generated method stub
return false;
}
@Override
public Object get(int index) {
// ????????????????????????
if(index<0||index>count){
System.out.println("下标不合法!");
}
return data[index];
}
@Override
public int indexOf(Object o) {
// ???????????????????????????
for(int i=0;i<count;i++){
if(data[i].equals(o)){
return i;
}
}
return -1;
}
@Override
public boolean isEmpty() {
// ???????????????????????
return count==0;
@Override
public Iterator iterator() {
// ??????????????????????????(选作)
return null;
}
@Override
public int lastIndexOf(Object o) {
// TODO Auto-generated method stub
return 0;
}
@Override
public ListIterator listIterator() {
// TODO Auto-generated method stub
return null;
}
@Override
public ListIterator listIterator(int index) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object remove(int index) {
// ???????????????????????
if(index<0||index>count){
System.out.println("下标不合法!");
}
Object temp=data[index];
for(int i=index ;i<count-1;i++){
data[i]=data[i+1];
}
count--;
return temp;
}
@Override
public boolean remove(Object o) {
// ????????????????????????
for(int i=0;i<count;i++){
if(data[i].equals(o)){
remove(i);
return true;
}
}
return false;
}
@Override
public boolean removeAll(Collection c) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean retainAll(Collection c) {
// TODO Auto-generated method stub
return false;
}
@Override
public Object set(int index, Object element) {
// ????????????????????????????
if(index<0||index>count){
System.out.println("下标不合法!");
}
Object temp=data[index];
data[index]=element;
return temp;
}
@Override
public int size() {
// ??????????????????????????
return count;
}
@Override
public List subList(int fromIndex, int toIndex) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object[] toArray() {
// ?????????????????????????????
Object[] temp=new Object[count];
System.arraycopy(data,0,temp,0,count);
return temp;
}
@Override
public Object[] toArray(Object[] a) {
// TODO Auto-generated method stub
return null;
}
}
- MyArrayList
- MyArrayList
- MyArrayList代码
- MyArrayList(Day13)
- Java MyArrayList 示例
- 数据结构(java)----MyArrayList
- 表--MyArrayList的实现
- 自定义动态数组MyArrayList
- MyArrayList(数组线性表的实现)
- Java数据结构笔记3——MyArrayList
- 顺序链表-MyArrayList的实现
- java基于StringBuilder自己实现myArrayList
- MyArrayList——自己实现ArrayList
- 线性表实现之顺序表——MyArrayList
- JAVA学习笔记20——String3_实践环节:构造自己的MyArrayList
- Random、 LinkedList 、Collections 、Arrays 、MyArrayList 的部分应用(util包)
- Java 小例子:通过 Socket 发送和接收文件
- Error Handling with C++ Exceptions, Part 1
- Asp.net Mvc 重点教程一周年版 第一回 安装,并使ASP.NET MVC页面运行起来
- java集合总结(终极版)
- 找工作
- MyArrayList
- MSComm 控件
- 你可能还不熟悉的VC6.0 IDE
- Dreamweaver正在死亡
- 教你如何在命令行下编译程序之一
- Adobe Acrobat 9 Pro 简体中文免激活方法
- windows 2008 办公用改造
- [转]DLL编写教程
- 功能测试自动化视频---数据插件管理器插件(3atesting自主研发的程序)