+ -
当前位置:首页 → 问答吧 → 请问字串阵列该如何删除某一位置元素?

请问字串阵列该如何删除某一位置元素?

时间:2011-09-06

来源:互联网

有一个字串阵列, 用来储存网址

写了一个方法, 来判断阵列内的网址是否都存在(有效)

发现无效情况时, 会用最后一个网址来取代之, 再把最后一个网址设成NULL

可是这NULL会造成后续的程式判断出错(length与处理前一样没变)

有没有办法可以不设成null, 而是删除这个元素跟位置?

有想过初始化一个阵列 却不知道该怎么把之前的元素传进去(因为null还是含在里面)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
     private void checkURL(String[] checkURL){
       try{
          // 检查用字串
          // 使用回圈检查URL阵列
          for(int i = 0; i<checkURL.length; i++){
            URL url= new URL(checkURL[i]);             URLConnection conn=url.openConnection();             String sb = conn.getHeaderField(0);             // 失效情况, 把最后一个位置换到失效的图片位置
            if(sb.indexOf( "Not ")>0){
                // 如果失效者为最后一个直接设为Null
                if(i == checkURL.length-1){
                  checkURL[i] = null;
                } else{
                  // 如果失效者非最后一个,使用最后一个替换之
                  checkURL[i] = checkURL[checkURL.length-1];
                   checkURL[checkURL.length-1] = null;
                }    
            }
          }    
       }catch(Exception e){}  
   }

作者: polo54786   发布时间: 2011-09-06

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  public static void main(String[] args) {
    String[] checkURL = {"URL 1", "URL 2", "URL 3", "Not URL", "URL 4",
        "URL 5", "Not URL", "URL 6", "URL 7", "Not URL" };
 
    for (int i = 0; i < checkURL.length;) {
      String url = checkURL[i];
      int lastIndex = checkURL.length - 1;
      if (url.indexOf("Not ") != -1) {
        // 如果失效者为最后一个直接设为Null
        if (i != lastIndex) {
          // 如果失效者非最后一个,使用最后一个替换之
          checkURL[i] = checkURL[lastIndex];
        }
        checkURL = Arrays.copyOfRange(checkURL, 0, lastIndex);
      } else {
        i++;
      }
    }
 
    for (String s : checkURL) {
      System.out.println(s);
    }
  }

作者: mow   发布时间: 2011-09-07

热门下载

更多