admin管理员组

文章数量:1794759

Java语言程序设计与数据结构(进阶篇)梁勇课后题ex——19

Java语言程序设计与数据结构(进阶篇)梁勇课后题ex——19

19.1 使用数组构造GenericStack类 public class GenericStack<E> { private E[] list = (E[])new Object[10]; private int n=0;//用于访问和修改栈顶 public int getSize(){ return n; } public E peek(){ return list[n-1]; } public void push(E o){ list[n]=o; n++; } public E pop(){ E temp=list[n-1]; list[n-1]=null; n--; return temp; } public boolean isEmpty(){ return (list[0]==null); } @Override public String toString(){ String s=""; int i=0; while(list[i]!=null) {s+=list[i]+" "; i++; } return s; } } 19.2使用继承实现GenericStack import Java.util.ArrayList; import java.util.Scanner; public class GenericStack2<E> extends ArrayList<E>{ //由于子类的构造方法第一行会自动调用父类的无参构造方法即Super() //因此此处默认的无参实例即可调用ArrayList的所有方法 public int getsize(){ return this.size(); } public E peek(){ return this.get(getsize()-1); } public void push(E o){ this.add(o); } public E pop(){ E o=this.get(getsize()-1); this.remove(getsize()-1); return o; } public boolean isEmpty(){ return this.isEmpty(); } } 19.3 ArrayList中的不同元素 import java.util.ArrayList; import java.util.HashSet; public class arraylist{ public static <E> ArrayList<E> removeDuplicates(ArrayList<E> list{ return new ArrayList<E>(new HashSet<E>(list)); //HashSet的底层实现依赖于HashMap中的key //HashSet(ArrayList)将Arraylist转换为集合,集合内元素不重复 } 19.8 打乱数组 package second_; import java.util.ArrayList; import java.util.Arrays; import java.util.Random; public class Homework19_8 { public static <E> void shuffle(ArrayList<E> list){ int n=list.size()-1; Random ran=new Random();//创建随机对象 for(int i=n;i>0;i--) { int j=ran.nextInt(n+1);//生成0-n的随机整数 E temp=list.get(i); list.set(i, list.get(j)); list.set(j, temp); } } public static void main(String[] args) { ArrayList<Integer> A= new ArrayList<Integer>(Arrays.asList(3,4,5,6,7,8,9)); //ArrayList初始化方式 shuffle(A); System.out.print(A.toString()); } }

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

本文标签: 数据结构课后语言程序设计进阶篇java