Collectio集合,List《ArrayList,LinkedList》

Posted sunbinary

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collectio集合,List《ArrayList,LinkedList》相关的知识,希望对你有一定的参考价值。

集合:

技术图片

Collection类
package com.collection.demo;

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

/**
 * 数组: 存储同一类型的元素组成集合,固定长度,数组中元素可以是基本数据,也可以是对象。
 * 集合: 存储不同类型对象的容器, 长度可变,集合中的元素必须是Object的子类,不能是基本数据类型。
 * 首字母大写都是对象
 * @author Administrator
 *
 */
public class CollectionDemo {
    /**
     *     boolean add(E o);  
        boolean remove(Object o);  
        int size();  
        boolean contains(Object o);  
        boolean isEmpty();  
        void clear();  
        Iterator<E> iterator();
        boolean addAll(Collection c);  
        boolean retainAll(Collection c); 
         boolean removeAll(Collection c);
     */
    
    public static void main(String[] args) {
        // 创建Collection对象
        Collection collection = new ArrayList();
        collection.add("AAA");
        collection.add(new Object());
        collection.add(1.0); // 自动装箱 new Integer(1); // 实体尽量使用包装类
        collection.add("AAA");
        System.out.println(collection); // 有一个学生
        
        // 获取集合元素个数
        System.out.println(collection.size());
        
        // 判断是否存在某个对象
        String obj = "AAA";
        boolean flag = collection.contains(obj);
        System.out.println(flag?"存在":"不存在");
        // 移除某个对象, 首次查找的对象会被移除
        flag =  collection.remove(obj);
        System.out.println(flag?"移除成功":"移除失败");
        
        // 遍历合中的元素
        Iterator it = collection.iterator();
        while (it.hasNext()) {
            System.out.print(it.next() + " ");
        }
        System.out.println("
");
        
        // 清空集合中的元素
        // collection.clear();
        // collection = null;
        
        // 判断集合是否为空,没有关心对象的本身是null
        // isEmpty() 判断size==0
        System.out.println(collection.isEmpty()?"为空":"不为空");
        
        // Arrays 数组操作的工具类,asList 把一个数组转换为一个集合
        
        // 批量添加一个集合到一个集合中
        Collection cl = Arrays.asList("BBB","CCC","DDD");
        collection.addAll(cl); // 添加的集合中每一个元素
        collection.add(cl); // 添加的是一个对象
        System.out.println(collection);
        
        // 批量移除
        Collection cl1 = Arrays.asList(new Double(1),"AAA","BBB");
        collection.removeAll(cl1);
        System.out.println(collection);
        
        // 获取2个集合之间交集
        collection.retainAll(Arrays.asList("CCC","DDD"));
        System.out.println(collection);
    }
    
}

 List:

技术图片

package com.collection.demo.list;

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

/**
 * List接口:
 * 特点: 元素是有序,可以包含重复元素,基于数组实现
 * @author Administrator
 *
 */
public class ArrayListDemo {
    public static void main(String[] args) {
        List list = new ArrayList(2);
        // 添加元素
        list.add("AAA"); // 添加单个元素
        list.add("BBB"); // 添加单个元素
        list.add("CCC"); // 添加单个元素
        list.add(1, "BVV"); //插入单个元素
        // 批量添加集合
        list.addAll(Arrays.asList(1,1.1D,1.1F));
        // 批量插入集合
        list.addAll(3, Arrays.asList("VVC","BVC"));
        
        // 删除元素
        list.remove(0); // 通过对象的下标移除
        list.remove(new Integer(1)); // 根据对象移除
        list.removeAll(Arrays.asList("BBB","CCC")); // 批量移除
        
        System.out.println(list);
        // 判断元素对象是否存在
        boolean flag = list.contains("VVC");
        System.out.println(flag ? "存在":"不存在");
        
        // 批量判断是否存在
        flag = list.containsAll(Arrays.asList("VVC",1.1));
        System.out.println(flag ? "存在":"不存在");
        
        // 判断集合元素个数否为0
        System.out.println(list.isEmpty());
        
        // 获取单个指定下标元素
        System.out.println(list.get(3));
        
        // 遍历集合
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i)+" ");
        }
        System.out.println("
");
        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next()+" ");
        }
        
        System.out.println("
");
        ListIterator listIterator = list.listIterator();
        while (listIterator.hasNext()) {
            System.out.print(listIterator.next()+" ");
        }
        System.out.println("
");
        System.out.println("====================");
        // 反向迭代。必须把游标移动到末尾
        ListIterator listIterator1 = list.listIterator(list.size());
        while (listIterator1.hasPrevious()) {
            System.out.print(listIterator1.previous()+" ");
        }
        System.out.println("
");
        System.out.println("---------------------");
        // 增强for循环
        for (Object obj : list) {
            System.out.print(obj+" ");
        }
        
        // 查询 -> 下标
        // 查找 -> 下标
        
    }
}
package com.collection.demo.list;

import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;

public class LinkedListDemo {
    public static void main(String[] args) {
        List list = new LinkedList();
        // 添加元素
        list.add("AAA"); // 添加单个元素
        list.add("BBB"); // 添加单个元素
        list.add("CCC"); // 添加单个元素
        list.add(1, "BVV"); // 插入单个元素
        // 批量添加集合
        list.addAll(Arrays.asList(1, 1.1D, 1.1F));
        // 批量插入集合
        list.addAll(3, Arrays.asList("VVC", "BVC"));

        // 删除元素
        list.remove(0); // 通过对象的下标移除
        list.remove(new Integer(1)); // 根据对象移除
        list.removeAll(Arrays.asList("BBB", "CCC")); // 批量移除

        System.out.println(list);
        // 判断元素对象是否存在
        boolean flag = list.contains("VVC");
        System.out.println(flag ? "存在" : "不存在");

        // 批量判断是否存在
        flag = list.containsAll(Arrays.asList("VVC", 1.1));
        System.out.println(flag ? "存在" : "不存在");

        // 判断集合元素个数否为0
        System.out.println(list.isEmpty());

        // 获取单个指定下标元素
        System.out.println(list.get(3));

        // 遍历集合
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + " ");
        }
        System.out.println("
");
        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + " ");
        }

        System.out.println("
");
        ListIterator listIterator = list.listIterator();
        while (listIterator.hasNext()) {
            System.out.print(listIterator.next() + " ");
        }
        System.out.println("
");
        System.out.println("====================");
        // 反向迭代。必须把游标移动到末尾
        ListIterator listIterator1 = list.listIterator(list.size());
        while (listIterator1.hasPrevious()) {
            System.out.print(listIterator1.previous() + " ");
        }
        System.out.println("
");
        System.out.println("---------------------");
        // 增强for循环
        for (Object obj : list) {
            System.out.print(obj + " ");
        }
        
        // 删除
        // 插入
    }

}

 

以上是关于Collectio集合,List《ArrayList,LinkedList》的主要内容,如果未能解决你的问题,请参考以下文章

Java集合常用类特点整理

转 java集合常用类 介绍

Java中的集合(Set,List,Map)

JAVA中的集合

Sorted对流中的数据进行排序,如list集合

Arraylis类