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

编程知识 更新时间:2023-04-07 21:25:46

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语言程序设计与数据结构(进阶篇)梁勇课后题ex——19

本文发布于:2023-04-07 21:25:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/4e71a45d0d7df71c0483f3f733e3ec5a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据结构   课后   语言程序设计   进阶篇   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 54939文章数
  • 14阅读数
  • 0评论数