ListGetandSetDemo 集合操作get set remove add方法

ListGetandSetDemo 集合操作get set remove add方法
/**
 * 集合操作 --线性表 概念: List是Collection的子接口,用于定义线性表数据结构. 
 * 可以将List理解为存放数据的数组.只不过个数可以动态的删除和增加.
 * 
 * List有两个常用的实现类,ArrayList和LinkedList. 两者在功能上相同,只是性能上有些差异.
 * ArrayList是用动态数组的方式体现,更适合随机访问. 
 * LinkedList是用链表的方式体现,更适合增删插入. 如果对性能要求不苛刻,可以忽略性能差异.
 * 
 * List除了继承Collection的方法外,还针对线性表的 数据结构定义了一系列方法.
 * 最常用的get,set方法. 
 * E get(intindex) 获取集合中指定下标对应的元素,从0开始 
 * E set(int index,E elments) 将给定的元素存入到指定的位置,并返回原来的元素
 * 
 * -----------------------------------------------------------------------------
    案例1 使用List的set方法和get方法设置和获取集合中的元素:
 * 
 * 1) 创建List接口的引用list,使该引用指向ArrayList的实例。 
 * 2)将字符串“java”、“cpp”、“php”、“c#”、“objective-c”放入集合list中。 
 * 3)使用List接口提供的get方法和size方法遍历集合list,并将每一个字符串元素转换成大写。
 * 4)将索引位置为1的元素替换为c++,并输出被替换掉的元素以及集合list。
  5) 交换集合list中索引位置为1和索引位置为3的元素。
 */
public class ListGetandSetDemo {

    public static void main(String[] args) {
        /* 案例1 使用List的set方法和get方法设置和获取集合中的元素 */
        //1) 创建List接口的引用list,使该引用指向ArrayList的实例。
        List<String> list = new ArrayList<String>();

        //2) 将字符串“java”、“cpp”、“php”、“c#”、“objective-c”放入集合list中。
        list.add("java");
        list.add("cpp");
        list.add("php");
        list.add("c#");
        list.add("objective-c");

        //3) 使用List接口提供的get方法和size方法遍历集合list,并将每一个字符串元素转换成大写。
        for (int i = 0; i < list.size(); i++) {
            String getStr = list.get(i);
            System.out.println(getStr.toUpperCase());
        }

        //4)将索引位置为1的元素替换为c++,并输出被替换掉的元素以及集合list。
        String replaceStr = list.set(1, "c++");
        System.out.println("替换掉的元素为: "+replaceStr);
        System.out.println("list替换之后的内容为: "+list);
        /*输出结果:
         *     替换掉的元素为: cpp
            list替换之后的内容为: [java, c++, php, c#, objective-c]
         */

        //5) 交换集合list中索引位置为1和索引位置为3的元素。
        String temp = list.set(1, "temp");
        temp = list.set(3,temp);
        temp = list.set(1, temp);
        System.out.println("list替换之后的内容为: "+list);
        // list.set(1, list.set(3, list.get(1))); 简化书写
    }
}
View Code

List根据下标的操作还支持插入和删除

/**
 * List根据下标的操作还支持插入和删除
 * void add(int index,E elements)
 * 将给定的元素插入到指定的位置,原位置及后续元素都顺序向后移
 * E remove (int index)
 * 删除给定的下标的元素,并返回.
 * 
案例  向List集合的指定索引位置插入元素以及移除指定索引位置的元素,详细要求如下:
1) 创建List接口的引用list,使该引用指向ArrayList的实例;将字符串“java”、 “c#”放入集合list中。
2) 在索引位置为1处,插入字符串元素“cpp”。
3) 移除索引位置为2的元素。
 *
 */
public class ListAddAndDelDemo {

    public static void main(String[] args) {
        /* 案例1  向List集合的指定索引位置插入元素以及移除指定索引位置的元素 */
        //1) 创建List接口的引用list,使该引用指向ArrayList的实例;将字符串“java”、 “c#”放入集合list中。
        List<String> list = new ArrayList<String>();
        list.add("java");
        list.add("c#");
        System.out.println(list);    //[java, c#]

        //2) 在索引位置为1处,插入字符串元素“cpp”。
        list.add(1,"cpp");
        /*List重载了带有索引位置参数的add方法,该方法将对象插入集合的指定索引位置
         * (相当于前插,可以理解为对象插入集合后其索引为指定的参数)。
         * 重载Collection接口的add方法. */
        System.out.println(list);    //[java, cpp, c#]


        //3) 移除索引位置为2的元素。
        list.remove(2);
        /*List重载的带有索引位置参数的remove方法,移除list集合中索引位置为2的元素
         *重载Collection接口的remove方法.*/
        System.out.println(list);    //[java, cpp]
    }
}
View Code

 

posted @ 2016-04-30 13:54  安仔80  阅读(379)  评论(0编辑  收藏  举报