电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:5日期: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
相關文章:
主站蜘蛛池模板: 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 | 搪玻璃冷凝器_厂家-越宏化工设备| Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 杜甫仪器官网|实验室平行反应器|升降水浴锅|台式低温循环泵 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 智能交通网_智能交通系统_ITS_交通监控_卫星导航_智能交通行业 | 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 粘度计,数显粘度计,指针旋转粘度计 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 杜甫仪器官网|实验室平行反应器|升降水浴锅|台式低温循环泵 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 工控机-工业平板电脑-研华工控机-研越无风扇嵌入式box工控机 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 合肥网络推广_合肥SEO网站优化-安徽沃龙First | 包装盒厂家_纸盒印刷_礼品盒定制-济南恒印包装有限公司 | 防火窗_耐火窗_防火门厂家_防火卷帘门-重庆三乐门业有限公司 | 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | TwistDx恒温扩增-RAA等温-Jackson抗体-默瑞(上海)生物科技有限公司 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 煤矿人员精确定位系统_矿用无线通信系统_煤矿广播系统 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 |