国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java 實現數組擴容與縮容案例

瀏覽:8日期:2022-08-17 11:49:59

我就廢話不多說了,大家還是直接看代碼吧~

public static <T> T[] dilatationArray(T[] datas,int newlen) { //不能為負數 newlen = newlen<0?0:newlen; //生成一個新數組,并copy原值到新數組 return Arrays.copyOf(datas, newlen); }

package testpro; import java.util.Arrays; /** * 數組擴容縮容 * 擴容之后擴容部分按照類型默認賦值為0,false或者null * @author Administrator * */public class ArrayDilatation { public static void main(String[] args) { Student[] students = new Student[60]; for (int i=0;i<students.length;i++) { System.out.println(students[i]); students[i] = new Student('Stu'+i,'Gen'+i,i); System.out.println(students[i]); } System.out.println(students); students = dilatationArray(students, 60); for (Student student : students) { System.out.println(student); } System.out.println(students); } public static <T> T[] dilatationArray(T[] datas,int newlen) { //不能為負數 newlen = newlen<0?0:newlen; //生成一個新數組,并copy原值到新數組 return Arrays.copyOf(datas, newlen); }} class Student{ private String name; private String gender; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Student(String name, String gender, int age) { super(); this.name = name; this.gender = gender; this.age = age; } @Override public String toString() { return 'Student [name=' + name + ', gender=' + gender + ', age=' + age + ']'; }}

補充:Java實現一個棧(通過自定義數組實現,可以自動擴容)

Java實現一個棧(可以自動擴容)

先聲明接口interface Stack<E>

/** * @author yinglongwu */ //適用泛型public interface Stack<E> { int getSize(); boolean isEmpty(); void push(E e);//入棧 E pop();//出棧 E peek();//查看棧頂元素}class ArrayStack<E>實現接口

這里是通過自定義的Array類里的方法來實現Stack接口,進而形成這個ArrayStack類

自定義的Array類:點我跳轉

/** * @author yinglongwu *///這里通過自定義的Array類里的方法實現Stack接口,進而形成這個ArrayStack,//并且也可以自動擴容public class ArrayStack<E> implements Stack<E> { //這個Array<E>是自己封裝的 Array<E> array; //有參構造 public ArrayStack(int capacity) { array = new Array<>(capacity); } //無參構造 public ArrayStack() { array = new Array<>();//使用Array類里的無參構造 } //獲取棧的最大容量 public int getCapacity() { return array.getCapacity();//調用的方法也是自己封裝的Array類里的方法 } //對接口中的方法進行重寫 @Override public int getSize() { return array.getSize(); } @Override public boolean isEmpty() { return array.isEmpty(); } //入棧 @Override public void push(E e) { array.addLast(e); } //出棧 @Override public E pop() { return array.removeLast(); } //查看棧頂元素 @Override public E peek() { return array.getLast(); } //對toString方法進行重寫,方便輸出棧的基本信息 @Override public String toString() { StringBuilder res = new StringBuilder(); res.append('Stack: '); res.append(’[’); for (int i = 0; i < array.getSize(); i++) { res.append(array.get(i)); if (i != array.getSize()-1) { res.append(', '); } } res.append('] top');//表明右側是棧頂 return res.toString(); }}測試使用這個ArrayStack棧

/** * @author yinglongwu */public class Main { public static void main(String[] args) { //測試class ArrayStack ArrayStack<Integer> stack = new ArrayStack<Integer>();//new ArrayStack<Integer>()里的Integer可寫可不寫 //包裝類和其對應的基本數據類型可以自動轉換 //將0到4入棧 for (int i = 0; i < 5; i++) { stack.push(i); System.out.println(stack); } //出一次棧 stack.pop(); System.out.println(stack); } }

輸出結果

java 實現數組擴容與縮容案例

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Java
相關文章:
主站蜘蛛池模板: 国产99视频免费精品是看6 | a站在线观看 | 国产成人精品久久亚洲高清不卡 | 精品国产无限资源免费观看 | 亚欧在线一线 | 欧美色视频日本片高清在线观看 | 美女张开腿让男人捅的视频 | 一级国产在线观看高清 | 国产成人久久精品一区二区三区 | 日韩 国产 欧美视频一区二区三区 | 91精品国产91久久久久久青草 | 日韩 国产 欧美 精品 在线 | 米奇精品一区二区三区在线观看 | 欧美 日韩 国产在线 | 亚洲欧美日韩另类在线 | 亚洲国产成人精品91久久久 | 女在床上被男的插爽叫视频 | 亚洲综合久久久 | 男人好大好硬好爽免费视频 | 国产精品九九久久一区hh | 国产免费午夜a无码v视频 | 高清在线亚洲精品国产二区 | 欧美最猛性xxxxx亚洲精品 | 99国产福利视频区 | 日本在线观看不卡免费视频 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美在线 | 欧美成人免费高清二区三区 | 亚洲精品线在线观看 | 久久久久久免费播放一级毛片 | 欧美不卡视频 | 一本久久精品一区二区 | 成人欧美一区二区三区视频xxx | 九九九九九九精品免费 | 免费永久国产在线视频 | 欧美国产综合视频 | 国产下药迷倒白嫩丰满美女j8 | 欧美做a欧美 | 久久精品国产99久久72 | 毛片中文字幕 | 久久国产精品免费视频 | 精品厕拍 |