我需要比较2个向量JAVA的元素

时间:2014-02-17 14:21:56

标签: java methods vector compare operator-keyword

我需要比较2个向量的元素,但它不断抛出异常。请帮助,我想知道我是否做错了比较,因为矢量使用方法。

 for (int i=0; i <= vect.size(); i++)
          {
              if (i >0 && i <= vect.size())
              {     
                if( vect.get(i) == vect.get(i--) ) //EXCEPTION HERE
                {
                     vect2.add(vect.get(i)+ "");
                }else{vect2.add(vect.get(i++));}

              }                  
          }

2 个答案:

答案 0 :(得分:2)

永远不要更改i中的for-loop值!

i--替换为i-1,将i++改为i+1,并根据i调整条件以检查正确的值范围。

答案 1 :(得分:1)

第一个问题:

for (int i=0; i <= vect.size(); i++)
                 ↑

当您将其更改为<时,会出现第二个问题,因为您仍然有vect.get(i++)

您需要注意索引,因为数组从零开始,而Vector 在内部由数组备份,索引在[之间]运行0,size-1]。