集合代码

存储数据.
​ 数组: 长度不可变,顺序,数据类型相同。
​ length;
​ 下标。

Collection: 集合根接口

​ 可重复的,不可重复的,有序的,无序的。
​ 公共方法;
​ add();添加元素
​ addAll();
​ contains():
​ isEmpty();
​ remove();
​ removeAll();
​ size(); 集的长度(元素个数)

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 集合根接口测试
 *
 * @author 凸
 * @create 2019-03-06-17:01
 */
public class CollectionTest {
    public static void main(String [] args) {
        method1();
        methodIterator();
    }
        public static void method1(){
            Collection collection = new ArrayList();
            //为什么要强转
            ((ArrayList) collection).add(123);
            ((ArrayList) collection).add("Hello");
            ((ArrayList) collection).add('a');
            ((ArrayList) collection).add(123.44f);
            ((ArrayList) collection).add(9561.2);
            ((ArrayList) collection).add(new Object());

            System.out.println(collection);
            //遍历
            for(int i = 0;i<collection.size();i++){
                System.out.println(((ArrayList)collection).get(i));
            }
            System.out.println(collection.contains('v'));
            collection.remove(123.44F);
            collection.remove("Hello");
            System.out.println(collection);
            System.out.println(collection.size());//4

            Object [] obj = collection.toArray();
                System.out.println(obj);
            for (int i = 0 ; i < obj.length; i++){
                System.out.println(obj[i]);

            }
            System.out.println("------------------");
        }
    public static  void methodIterator() {
        Collection collection = new ArrayList();
        ((ArrayList) collection).add(123);
        ((ArrayList) collection).add("Hello");
        ((ArrayList) collection).add('a');
        ((ArrayList) collection).add(123.44F);
        ((ArrayList) collection).add(345.66);
        ((ArrayList) collection).add(new Object());

        //使用迭代器遍历集合
        Iterator it = collection.iterator();
        while (it.hasNext()) {
            Object obj = it.next();
            System.out.println(obj);
        }
    }
    }
[123, Hello, a, 123.44, 9561.2, java.lang.Object@4554617c]
123
Hello
a
123.44
9561.2
java.lang.Object@4554617c
false
[123, a, 9561.2, java.lang.Object@4554617c]
4
[Ljava.lang.Object;@74a14482
123
a
9561.2
java.lang.Object@4554617c
------------------
123
Hello
a
123.44
345.66
java.lang.Object@1540e19d

Iterator iterator()

​ 返回在此 collection 的元素上进行迭代的迭代器。
​ hasNext();
​ next();
​ remove();

List:

​ 有序的。
​ 允许元素重复。相等元素重复也可以。
​ 允许null元素 ,多个null元素
​ get(int index);
​ listIterator()
​ indexOf();
​ lastIndexOf();
​ set(int index,Object element)

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

/**
 * @author 凸
 * @create 2019-03-06-16:44
 */
public class ListTest {
    //public ListTest(){}
    public static void main(String[] args){
        List list = new ArrayList();
        list.add("Hello");
        list.add(123);
        list.add('a');
        System.out.println(list);
        System.out.println(list.get(0));
        System.out.println(list.indexOf("Hello"));
        System.out.println(list.set(0,"World"));
        System.out.println(list.subList(0,2));
        ListIterator it = list.listIterator();
        //相当于遍历
        //hasnext是看是否有东西
        //next是拿出来
        while(it.hasNext()){
            Object obj = it.next();
            System.out.println(obj);
        }
    }
}
[Hello, 123, a]
Hello
0
Hello
[World, 123]
World123a
ArrayList

​ list集合的数组实现。
​ 线程不安全(不是同步的)。
​ 查询快,增删慢。
​ 允许null元素

import java.util.ArrayList;
import java.util.Iterator;

/**
 * 排序
 * @author 凸
 * @create 2019-03-06-11:04
 */
public class ArrayListTest {
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add("Hello");
        list.add(1234);
        list.add(12.555);
        list.add(new Object());
        System.out.println(list);
        System.out.println(list.get(2));

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        //增强for循环
        /*for (Object o : list){
        }*/
        Iterator l = list.iterator();
        while(l.hasNext()){
            System.out.println(l.next());
        }
    }
}
[Hello, 1234, 12.555, java.lang.Object@4554617c]
12.555
Hello
1234
12.555
java.lang.Object@4554617c
Hello
1234
12.555
java.lang.Object@4554617c

import java.util.ArrayList;
import java.util.Iterator;

/**
 * @author 凸
 * @create 2019-03-06-11:30
 */
public class ArrayList2 {
    public static void main(String[] args) {
        method1();
        method2();
        method3();
    }

    public static void method1(){
        ArrayList<String> list = new ArrayList();
            list.add("Hello");
            list.add("Hello");
            list.add("Hell1");
            list.add("Hello");
            System.out.println(list);
            Iterator  var1 = list.iterator();

            while(var1.hasNext()) {
                String s = (String) var1.next();
                System.out.println(s);
            }

        }
    public static void method2(){
        ArrayList<Person> list = new ArrayList();
        list.add(new Person(23,"admin"));
        list.add(new Person(26,"joke"));
        list.add(new Person(23,"张三"));
        System.out.println(list);
        Iterator it = list.iterator();

        }

        public static void method3(){
            ArrayList<String>list = new ArrayList();
            list.add("Hello");
            list.add("admin");
            list.add("joke");
            System.out.println(list);
            Iterator it = list.iterator();

            while(it.hasNext()){
                String str = (String)it.next();
                it.remove();//删除
                System.out.println(str);
            }
            System.out.println(list);
    }
}
[Hello, Hello, Hell1, Hello]
Hello
Hello
Hell1
Hello
[Person{age=23, name='admin'}, Person{age=26, name='joke'}, Person{age=23, name='张三'}]
[Hello, admin, joke]
Hello
admin
joke
[]
LinkedList

​ List 接口的链接列表实现
​ 允许null元素
​ 线程不安全( 不同步)
​ 增删快,查询慢

import java.util.LinkedList;

/**
 * @author 凸
 * @create 2019-03-06-11:51
 */
public class LinkedListTest {
   // public LinkedListTest(){}
    public static void main(String[] args){
        LinkedList<Object> list = new LinkedList();
        list.add("Hello");
        list.add("Hello");
        list.add(123);
        list.add(12.44D);
        list.add('a');
        System.out.println(list);//同下默认添加toString
        System.out.println(list.toString());//同上
        list.addFirst(new Object());//前面添加java.lang.Object@4554617c地址值
        list.addLast(9999);//后面添加99999
        System.out.println(list);
   }
}
[Hello, Hello, 123, 12.44, a]
[Hello, Hello, 123, 12.44, a]
[java.lang.Object@4554617c, Hello, Hello, 123, 12.44, a, 9999]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值