publicstaticvoidtest4(){//随机⽣成20个整数,范围为10-30,存⼊到集合中,将所有元素加和后输出。ArrayList<Integer> list =newArrayList<>();Random random =newRandom();for(int i =0; i <20; i++){
list.add(random.nextInt(21)+10);}int sum =0;for(Integer integer : list){
sum+=integer;}System.out.println(sum);}
设计⼀个MyArrayList类,实现不定长度实现的基本功能
MyArrayList中添加的元素,可以通过泛型进⾏限定
向MyArrayList中添加元素
从MyArrayList中删除元素(按照下标删除、按照元素删除、清空所有)
通过下标,获取元素
通过下标,修改元素
将MyArrayList中的元素进⾏升序排序
publicclassMyArrayList<T>{privateT[] list;privateint index;privateint maxSize;publicMyArrayList(){this.list =(T[])newObject[10];this.index =0;this.maxSize =10;}//从MyArrayList中删除元素(按照下标删除、按照元素删除、清空所有)publicintremove(T t){if(t==null)return-1;Integer inx =null;for(int i =0; i < index; i++){if(this.equals(t)||this== t){
inx = i;break;}}if(inx==null)return-1;for(int i=inx;i<index-1;i++){
list[i]= list[i+1];}
index--;return inx;}publicTremove(int index){if(index<0||index>=this.index)returnnull;T t = list[index];for(int i = index; i <this.index -1; i++){
list[i]= list[i+1];}this.index--;return t;}publicvoidadd(T t){
list[index++]= t;if(index==maxSize-1){expandList();}}publicvoidexpandList(){
list =Arrays.copyOf(list,maxSize+10);
maxSize+=10;}publicvoidset(int index,T t){
list[index]= t;}@OverridepublicStringtoString(){StringBuffer stringBuffer =newStringBuffer("{");for(int i =0; i < index-1; i++){
stringBuffer.append(list[i]+", ");}
stringBuffer.append(list[index-1]);return stringBuffer.append("}").toString();}publicvoidsort(Comparator<T> comparator){Object t;for(int i =0; i < index; i++){for(int j =0; j < index - i -1; j++){if(comparator.compare(list[j],list[j+1])>0){
t = list[j];
list[j]= list[j+1];
list[j+1]=(T)t;}}}}}