Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 拆分arraylist并重新合并它们_Java_Oop_Arraylist_User Defined Types - Fatal编程技术网

Java 拆分arraylist并重新合并它们

Java 拆分arraylist并重新合并它们,java,oop,arraylist,user-defined-types,Java,Oop,Arraylist,User Defined Types,我创建了一个名为OutlierInfo的类,如下所示 public class OutlierInfo { public String month; public int year; public String id; public int serialId; public void setSerialId(int serialid) { serialId=serialid; } public vo

我创建了一个名为OutlierInfo的类,如下所示

public class OutlierInfo 
{
    public String month;
    public int year;
    public String id;
    public int serialId;

    public void setSerialId(int serialid)
    {   
        serialId=serialid;   
    }

    public void setMonth(String monthh)
    {   
        month=monthh; 
    }

    public void setYear(int yearr)
    {    
        year=yearr;  
    }

    public void setId(String idd)
    {        
        id=idd;   
    }   
}
我有一个Outlierinfo类型的arraylist。我已经将Outlierinfo的一些对象添加到arraylist中。现在我要做的是根据对象的SerialId对对象进行分组,生成每个组的arraylist,然后合并这些组的所有arraylist 这是我写的代码,但它只是抛出错误,我不知道为什么。我需要一些帮助,以找出为什么下面的代码给出错误?  

公共类ArraylistSort
{
ArrayList结果=新建ArrayList();
静态ArrayList groupResult=新建ArrayList();
字符串[]月={“一月”、“二月”、“三月”、“四月”,
“五月”、“六月”、“七月”、“八月”,
“九月”、“十月”、“十一月”、“十二月”
};
int计数器=0;
整数计数=0;
公共ArraylistSort(){
对于(int i=0;i请仔细阅读:

线程“main”java.lang.IndexOutOfBoundsException中的异常:索引:6,大小:6

自1970年以来,java和大多数现代编程语言中的数组索引:)从0开始。如果数组长度为6个元素,则其索引必须在0…5范围内

我希望现在您有足够的信息来调试代码并找到bug

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 6
表示您有一个大小为6的arraylist,并且您正在尝试访问第6个索引处的元素。这是错误的

请记住,arraylist索引是零索引的。因此,如果arraylist的大小为6,那么要访问第6个元素,应该执行以下操作

al.get(5).
我猜,你的计数是6,因此你的循环应该是

 for(int j=0;j<count-1;j++)
                {      
                     OutlierInfo info2=new OutlierInfo();
                     info2=result.get(j);

         /// continue your code

用于(int j=0;j你得到了一个索引越界异常,这几乎总是程序员的错误。然而,我接受了你发布的代码,它工作得很好,没有异常。我意识到你的错误在ArrayListSort中表示错误。java:98所以第98行你发布的类只有59行!所以你运行的是你自己的类的错误版本你正在运行你发布的那个。这就是问题所在

我未经修改运行您发布的代码的结果

结果大小1 结果大小2 结果大小3 结果大小4 结果大小5 结果尺寸6 结果大小7 结果大小8 第1部分 r码7 第1部分 r码6 第1部分 r码5 第1部分 r码4 第1部分 r码3 第1部分 r码2 第1部分 r码1 第1部分
r size 0

嘿,我运行了你的代码并检查了它。 这是输出

result size1 result size2 result size3 result size4 result size5 result size6 result size7 result size8 partiainfosize1 r size 7 partiainfosize1 r size 6 partiainfosize1 r size 5 partiainfosize1 r size 4 partiainfosize1 r size 3 partiainfosize1 r size 2 partiainfosize1 r size 1 partiainfosize1 r size 0 结果大小1 结果大小2 结果大小3 结果大小4 结果大小5 结果尺寸6 结果大小7 结果大小8 第1部分 r码7 第1部分 r码6 第1部分 r码5 第1部分 r码4 第1部分 r码3 第1部分 r码2 第1部分 r码1 第1部分 r尺寸0
如果您使用eclipse,请签入其他IDE(在Netbeans中尝试)然后检查是否仍然有错误

我知道。我基本上是在动态地将对象添加到此arraylist,因此arraylist的大小正在增加,因为我在此处向此arraylist添加了8个对象,所以它的大小必须为8,所以当程序尝试访问第6个对象时为什么会出现异常?酷,我不知道这样的情况索引从1970年开始:)嘿,为了清晰起见,我在发帖时删除了一些评论:)我还删除了一些基本上是打印内容的行。我没有看到任何逻辑错误,但我只是不断得到^array out bounds error^感谢您运行代码并发布结果。我不知道为什么我会一直收到错误谢谢:)但我这里的问题很难(至少我认为是这样)或者可能是我误解了我不知道。
al.get(5).
 for(int j=0;j<count-1;j++)
                {      
                     OutlierInfo info2=new OutlierInfo();
                     info2=result.get(j);

         /// continue your code
result size1 result size2 result size3 result size4 result size5 result size6 result size7 result size8 partiainfosize1 r size 7 partiainfosize1 r size 6 partiainfosize1 r size 5 partiainfosize1 r size 4 partiainfosize1 r size 3 partiainfosize1 r size 2 partiainfosize1 r size 1 partiainfosize1 r size 0