import java.util.ArrayList;
import java.util.Arrays;public class ArrayList1{
public static void main(String[] args){
ArrayList<int[]> list=new ArrayList<int[]>();
int[] point = new int[2];
point[0] = 9;
    point[1] = 8;
    //int[] point={9,8}
list.add(point); int[] Temp={9,8};
System.out.println(list.contains(Temp));

}
public boolean equals(Object obj[]) {        }
}要使得list.contains(Temp)返回true;

解决方案 »

  1.   

    你要重写起码ArrayList1继承ArrayList吧?
      

  2.   

    假设你继承了ArrayList,先super.equals(object),false了比较.size()和.length,一致了去循环equals每个元素吧,
      

  3.   

    ArrayList存放的是Object时候
    import java.util.ArrayList;
    //import java.util.Arrays;public class ArrayList1  {
    public static void main(String[] args){
    ArrayList<Object> list=new ArrayList<Object>();
    list.add(new Point(9,8));
    System.out.println(list.contains(new Point(9,8)));

    }}class Point {
    private int age1=9;
    private int age2=8;
      Point(int age1,int age2){
    this.age1=age1;
    this.age2=age2;
    }

    public boolean equals(Object obj) {
            
              }

    }
    格式应该是这样的,
    但如果存放int[]应该 把equals方法放哪儿重写呢?
    temp和point都是整形数组啊。
      

  4.   

    假设你继承了ArrayList,先super.equals(object),false了比较.size()和.length,一致了去循环equals每个元素吧
      

  5.   

    循环比较每个元素, 每个都equals 后 返回 true
      

  6.   

    。现在重写equals代码次要了,
    重要的是equals方法放哪里?
    Temp,point都是整形数组,
    觉得不好重写equals方法了。
      

  7.   

    说实话,你在arraylist里放数组,还想让contains方法返回你想要的结果这个还真比较麻烦,因为你无法重写数组的equals方法,数组的equals方法按数组所在的内存地址来比较的。我觉得可以用以下两种方案之一就可以,1、自己定个类,继承arraylist,重写它的contains方法,这样游戏的规则都是你定了2、不要往arraylist里放数组,而是放一个对象,如你可以定一个point类,有两个成员变量int x,int y,然后重写point的equals方法我比较喜欢第二种方法,必竟为了实现一个功能去重写继承arraylist类不是太好,我们应更多的是利用好API提供的特性。