博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java开始到熟悉100-102
阅读量:6956 次
发布时间:2019-06-27

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

   本次内容:arraylist()

1、

1 package list; 2  3 import java.util.ArrayList; 4 import java.util.Date; 5 import java.util.List; 6  7 /** 8  * 测试list的基本方法 9  * @author acer10  *11  */12 public class arraylist {13     public static void main(String[] args)14     {15         List list=new ArrayList();16         //Arraylist():低层实现是数组,查找容易,插入删除复杂。线程不安全17         //LinkedList():低层实现是链表,查找复杂,插入删除容易。线程不安全18         //Vector():低层实现是数组,线程安全19         list.add("aaa");20         list.add(new Date());21         list.add(1234);//包装类:自动装箱22         System.out.println(list.size());23         list.remove(0);24         System.out.println(list.size());25         list.get(0);26         System.out.println(list.get(0));27         list.set(0, "bbb");28         System.out.println(list.get(0));29         System.out.println(list.get(1));30     }31 }

运行结果:

3
2
Tue May 20 22:18:58 CST 2014
bbb
1234

 

2、自己定义arraylist()函数

 

1 package list;  2   3 import java.util.Date;  4   5 /**  6  * 自己定义arraylist,熟悉其低层实现  7  * @author acer  8  *  9  */ 10 public class myarraylist { 11     private Object[] elementData; 12     private int size; 13     public int size()//数组的大小 14     { 15         return size; 16     } 17     public myarraylist(int initalCapacity)//构造器 18     { 19         elementData=new Object[initalCapacity]; 20     } 21     public Object get(int index)//取数组的值 22     { 23         rangeCheck(index); 24         return elementData[index]; 25     } 26     public void add(Object object)//添加对象 27     { 28         ensureCapacity(); 29         elementData[size++]=object; 30     } 31     public void add(int index,Object obj)//指定位置添加对象 32     { 33         rangeCheck(index); 34         ensureCapacity(); 35         int numMoved=size-index; 36         System.arraycopy(elementData, index, elementData, index+1, numMoved); 37         elementData[index]=obj; 38         size++; 39          40     } 41     private void ensureCapacity()//数组的扩容 42     { 43         if(size==elementData.length) 44         { 45             Object[] newarraylist=new Object[size*2+1]; 46             System.arraycopy(elementData, 0,newarraylist,0,elementData.length); 47             elementData=newarraylist; 48         } 49     } 50     public void remove(int index)//移除对象 51     { 52         rangeCheck(index); 53         int numMoved=size-index-1; 54         if(numMoved>0) 55         { 56             System.arraycopy(elementData, index+1, elementData, index, numMoved); 57         } 58         elementData[--size]=null; 59     } 60     public void remove(Object obj)//移除对象 61     { 62         for(int i=0;i
=size) 77 { 78 try { 79 throw new Exception(); 80 } catch (Exception e) { 81 e.printStackTrace(); 82 } 83 } 84 } 85 public static void main(String[] args) 86 { 87 myarraylist list=new myarraylist(3); 88 list.add("aaa"); 89 list.add("bbb"); 90 list.add(new Date()); 91 System.out.println(list.isEmpty()); 92 System.out.println(list.size()); 93 System.out.println(list.get(0)); 94 System.out.println(list.get(1)); 95 System.out.println(list.get(2)); 96 list.remove(0); 97 list.remove(new Date()); 98 System.out.println(list.get(0)); 99 list.add(1, "aaa");100 System.out.println(list.get(1));101 }102 }

运行结果:

false

3
aaa
bbb
Tue May 20 23:41:15 CST 2014
bbb
aaa

 

转载于:https://www.cnblogs.com/xiaojingang/p/3740171.html

你可能感兴趣的文章
快速入门分布式消息队列之 RabbitMQ(2)
查看>>
IIS安装与部署,站点的部署与配置
查看>>
Google两步验证的工作原理
查看>>
es6 babel编译
查看>>
过滤器(转载)
查看>>
PLSQL基本操作
查看>>
persisted? vs new_record?
查看>>
Linux下禁止ping最简单的方法
查看>>
一个用户下表、批量授予权限给另一个用户
查看>>
Hibernate 关联映射
查看>>
mybatis spring maven
查看>>
Introduction of Open CASCADE Foundation Classes
查看>>
C#程序之二 -- 数独小游戏(1. UI设计)
查看>>
Codeforces Round #440 (Div. 2, based on Technocup 2018 Elimination Round 2)
查看>>
机房电脑维护记
查看>>
poj1251
查看>>
css单行文本和多行文本溢出实现省略号显示
查看>>
数据结构经典问题——出栈顺序 转载至:canlynet微博
查看>>
Get Shell
查看>>
cmd命令关闭占用程序的端口
查看>>