国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java 實現數組擴容與縮容案例

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

2021-08-03 11:13Code,BetterCode Java教程

這篇文章主要介紹了java 實現數組擴容與縮容案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

?
1
2
3
4
5
6
public static <T> T[] dilatationArray(T[] datas,int newlen) {
 //不能為負數
 newlen = newlen<0?0:newlen;
 //生成一個新數組,并copy原值到新數組
 return Arrays.copyOf(datas, newlen);
 }
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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>

 

?
1
2
3
4
5
6
7
8
9
10
11
/**
 * @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類:點我跳轉

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/**
 * @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棧

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * @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 實現數組擴容與縮容案例

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

原文鏈接:https://blog.csdn.net/qq_42043982/article/details/91490690

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 成人免费视频网站在线观看 | 国产av毛片| 日韩电影在线一区 | 日韩欧美网 | 亚洲专区在线播放 | 一区二区三区视频免费在线观看 | 欧美99| 91在线免费视频 | 成人小视频在线观看 | 视频一区 日韩 | 亚洲国产精品视频一区 | 亚洲精品无码专区在线播放 | 精品一区二区三区四区 | 毛片xxx| 91视视频在线观看入口直接观看 | 欧美一区永久视频免费观看 | 成人午夜啪啪好大 | 中文字幕久久伊人 | 国产视频一二三区 | 国内精品视频 | 日韩www | 国产综合视频在线观看 | 亚洲人成网亚洲欧洲无码 | 日本三级中国三级99人妇网站 | 亚洲淫视频 | 91免费黄色片 | 视频二区 | 天天拍拍天天干 | 91影院在线观看 | 欧美日韩精品电影 | 国产亚洲精品久久久久久久久 | 一区二区三区国产视频 | 成人h免费观看视频 | 人人人射 | 免费自拍偷拍视频 | 亚洲黄色片免费看 | 久久精品中文字幕 | 精品一区二区三区在线视频 | 欧美一区二区三区精品免费 | 欧美欧美欧美 | 中文字幕在线一区二区三区 |