标题:一个Java程序 求步骤意义
只看楼主
Java好难
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-1-1
结帖率:0
已结贴  问题点数:20 回复次数:1 
一个Java程序 求步骤意义
package delete;

import java.util.ArrayList;
import java.util.List;


public class deleteaa {
    public static void main(String [] args) {  
        testA();  
        System.out.println("");}
    public static void testA() {  
        String [] str = {"1", "2", "6", "2", "6", "7", "1"};  
        for (String elementA:str ) {  
            System.out.print(elementA + " ");  
        }  
        List<String> list = new ArrayList<String>();  
        for (int i=0; i<str.length; i++) {  
            if(!list.contains(str[i])) {  
                list.add(str[i]);  
            }  
        }  
        /*
        Set<String> set = new HashSet<String>();
        for (int i=0; i<str.length; i++) {
            set.add(str[i]);
        }
        String[] newStr =  set.toArray(new String[1]);  
        */  
        System.out.println();  
        String[] newStr =  list.toArray(new String[1]); //返回一个包含所有对象的指定类型的数组   
        for (String elementB:newStr ) {  
            System.out.print(elementB + " ");  
        }  
        System.out.println();  
    }   
}
谁能帮忙详细说明下各个步骤
搜索更多相关主题的帖子: package public import Java 
2014-01-01 19:22
trycatch
Rank: 2
等 级:论坛游民
帖 子:6
专家分:32
注 册:2013-12-31
得分:20 

import java.util.ArrayList;
import java.util.List;


public class deleteaa {
    public static void main(String [] args) {  
        testA();  
        System.out.println("");
    }
    public static void testA() {  
        String [] str = {"1", "2", "6", "2", "6", "7", "1"};  //定义str字符串数组
        for (String elementA:str ) {  
            System.out.print(elementA + " ");  //采用foreach形式循环遍历打印str数组中的值   等同于  for(int i=0;i<str.length;i++){...}
        }  
        List<String> list = new ArrayList<String>();  //采用"里氏替换"方式实例化list集合对象,其实就是父类的对象指向了子类的实例
        for (int i=0; i<str.length; i++) {  //遍历str字符串数组
            if(!list.contains(str[i])) {  //如果list集合中不包含str数组中的元素就将改字符串加入list集合中(其实作用就是去除str数组中的重复的值并放在list集合中)
                list.add(str[i]);         
            }  
        }  
        /*
        Set<String> set = new HashSet<String>();
        for (int i=0; i<str.length; i++) {
            set.add(str[i]);
        }
        String[] newStr =  set.toArray(new String[1]);  
         */  
        System.out.println();  //换行
        //返回一个包含所有对象的指定类型的数组    类型转换(将list转换为String数组)
        /*
         * 说下list.toArray(new String[1]) 中的参数 new String[1] 的含义
         *
         * list.toArray(..) 带参数的需要你指定要转化的数组类型的实例, 如代码中参数"new String[1]"
         * 就是传递list.toArray(..)方法的String数组实例,意思就是说你要将list集合转换为String数组;
         * 说下"new String[1]"参数中的给出的数组长度"1",如果你给定的数组长度比list集合中所包含的数小,那么转换
         * 的String长度会和list集合中的数一致:比如说,你这里给定的数组长度为1,list集合中有四个数,那么转换后的
         * String数组长度就为4,如果给定的数组长度大于list集合中的包含值的个数,则转换后的String数组长度就会等于给定的数组
         * 长度并多余的位置为null值,如:
         * String[] newStr =  list.toArray(new String[8]);
         * 那么newStr的长度就为8,那么输出的结果为:
         * 1 2 6 7 null null null null
         * */
        String[] newStr =  list.toArray(new String[1]);
        System.out.println(newStr.length);
        for (String elementB:newStr ) {  
            System.out.print(elementB + " ");  
        }  
        
        System.out.println();  
    }   
}

[ 本帖最后由 trycatch 于 2014-1-2 16:22 编辑 ]
2014-01-02 16:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-425992-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017461 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved