Java泛型使用 linkenlist arraylist

Java泛型使用 linkenlist arraylist

标题编写一个Circle类

分别使用LinkenList和ArrayList储存数据,分别使用迭代器和for循环遍历这两个list


public class Circle 
{
	public 
	double R,S;
	public Circle(double R)
	{
		this.R=R;
	}
	public double getR() 
	{
		return R;
	}
	public void setR(double r) 
	{
		R = r;
	}
	public double getS()
	{
		S=R*R*3.14;
		return S;
	}
	public boolean equals(Object obj) 
	{
        Circle e = (Circle) obj;
        if(this.R==e.R)
        return true;
        else return false;
	}
}

这里为Circle类的创建和重写equals方法,如果不重写equals方法就无法比较,因为equals比较的是地址

import java.util.Iterator;
import java.util.LinkedList;

public class text1 
{

	public static void main (String args[])
	{
		LinkedList<Circle> list1=new LinkedList<Circle>();
		LinkedList  list2=new LinkedList();
		Circle r1=new Circle(1);
		Circle r2=new Circle(25);
		Circle r3=new Circle(2);
		Circle r4=new Circle(4);
		list1.add(r1);
		list1.add(r2);
		list1.add(r3);
		list1.add(r4);
		int number1=list1.size();
		for(int i=0;i<number1;i++)
		{
			double temp=list1.get(i).getS();
		    System.out.println(temp);
		}
		Iterator<Circle> iter1=list1.iterator();
		while(iter1.hasNext())
		{
             Circle delete1=new Circle(2);
             if(delete1.equals(iter1.next()))
             {
            	 iter1.remove();
            	 System.out.println("被删除的为"+iter1.next().getR()+"的前一个/手动滑稽/");
             }
		}
		int number3=list1.size();
	    for(int i=0;i<number3;i++)
		{
			double temp=list1.get(i).getR();
		    System.out.println("半径"+temp);
		}
	}
}

这里为使用for循环遍历这个LinkenList 因为使用for循环删除元素很容易造成数组下标越界异常,所以这里使用了迭代器进行比较删除
下面代码比较类似,就不多做赘述了

import java.util.*;


public class text2
{
	public static void main (String args[])
	{
		ArrayList<Circle> list1=new ArrayList<Circle>();
		Circle r1=new Circle(1);
		Circle r2=new Circle(2);
		Circle r3=new Circle(3);
		Circle r4=new Circle(4);
		list1.add(r1);
		list1.add(r2);
		list1.add(r3);
		list1.add(r4);
		for(int i=0;i<4;i++)
		{
			double temp=list1.get(i).getS();
		    System.out.println(temp);
		}
	    Circle remove=list1.remove(1);
	    System.out.println("删除后");
	    for(int i=0;i<3;i++)
		{
			double temp=list1.get(i).getR();
		    System.out.println("半径"+temp);
		}
	}
}

public class text3
{
	public static void main (String args[])
	{
		ArrayList<Circle> list1=new ArrayList<Circle>();
		Circle r1=new Circle(1);
		Circle r2=new Circle(2);
		Circle r3=new Circle(3);
		Circle r4=new Circle(4);
		list1.add(r1);
		list1.add(r2);
		list1.add(r3);
		list1.add(r4);
		Iterator<Circle> iter1=list1.iterator();
		while(iter1.hasNext())
		{
			double te=iter1.next().getR();
			System.out.println(te);
		}
//		for(int i=0;i<4;i++)
//		{
//			double temp=list1.get(i).getS();
//		    System.out.println(temp);
//		}
	    Circle remove=list1.remove(1);
	    System.out.println("删除后");
	    Iterator<Circle> iter2=list1.iterator();
		while(iter2.hasNext())
		{
			double te=iter2.next().getR();
			System.out.println(te);
		}
//	    for(int i=0;i<3;i++)
//		{
//			double temp=list1.get(i).getR();
//		    System.out.println("半径"+temp);
//		}
	}

}

import java.util.*;
import java.util.Iterator;

public class text4 
{
	public static void main (String args[])
	{
		LinkedList<Circle> list1=new LinkedList<Circle>();
		Circle r1=new Circle(1);
		Circle r2=new Circle(2);
		Circle r3=new Circle(3);
		Circle r4=new Circle(4);
		list1.add(r1);
		list1.add(r2);
		list1.add(r3);
		list1.add(r4);
		Iterator<Circle> iter1=list1.iterator();
		while(iter1.hasNext())
		{
			double te=iter1.next().getR();
			System.out.println(te);
		}

	    Circle remove=list1.remove(1);
	    System.out.println("删除后");
	    System.out.println("------------------");
	    Iterator<Circle> iter2=list1.iterator();
		while(iter2.hasNext())
		{
			double te=iter2.next().getR();
			System.out.println(te);
		}

	}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值