首页 > 其他分享 >集合

集合

时间:2023-03-25 18:15:18浏览次数:36  
标签:System println add 集合 new public out

1. 集合 ---(原文链接:https://blog.csdn.net/B_evan/article/details/80611522

  (1). 集合类存放于java.util包中。

  (2). 集合类型主要有3种:set(集)、list(列表)和map(映射)。

  (3). 集合存放的都是对象的引用,而非对象本身。所以我们称集合中的对象就是集合中对象的引用。

  简单来讲:集合就是一个放数据的容器,准确的说是放数据对象引用的容器。

2. 框架结构

3. Collection

public class CollDemo {
    public static void main(String[] args) {
        Collection collection = new ArrayList();
        System.out.println(collection.getClass());
        collection.add("a");
        collection.add("a");
        collection.add("b");
        collection.add("abc");
        System.out.println(collection);

        System.out.println(collection.contains("abc"));
        collection.remove("a");
        System.out.println(collection);
        collection.clear();
        System.out.println(collection);
        System.out.println(collection.isEmpty());


    }
}

4. List

特点:有序,可重复

(1). List

public class ListDemo {
    public static void main(String[] args) {
        List list = new ArrayList();
        System.out.println(list.getClass());
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("abc");
        System.out.println(list);
        list.set(1, "b");
        System.out.println(list);
        list.remove(2);
        System.out.println(list);
        System.out.println(list.indexOf("a"));
    }
}

(2). ArrayList

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList arrayList = new ArrayList();
        arrayList.add("a");
        arrayList.add("a");
        arrayList.add("b");
        arrayList.add("abc");

        Iterator iterator = arrayList.iterator();
        while (iterator.hasNext()) {
            String s1 = (String) iterator.next();
            System.out.println(s1);
        }
    }
}

(3). LinkedList

public class LinkedListDemo {
    public static void main(String[] args) {
        LinkedList linkedList = new LinkedList();
        linkedList.add("a");
        linkedList.addFirst("b");
        linkedList.offerFirst("c");
        System.out.println(linkedList);
        System.out.println(linkedList);
        System.out.println(linkedList.removeFirst());
        System.out.println(linkedList.removeLast());
        System.out.println(linkedList);
        System.out.println(linkedList.pollFirst());
        System.out.println(linkedList.pollLast());
        System.out.println(linkedList);
        for (int i = 0; i < 5; i++) {
            linkedList.add((char)(97+i));
        }
        System.out.println(linkedList);
        System.out.println(linkedList.pollFirst());
        System.out.println(linkedList.pollLast());
        System.out.println(linkedList);

    }
}

5. Set

特点:无序,不可重复

(1). HashSet

public class HashSetDemo {
    public static void main(String[] args) {
        HashSet hashSet = new HashSet();
        Student s1 = new Student("111", 111);
        Student s2 = new Student("222", 222);
        Student s3 = new Student("333", 333);
        Student s4 = new Student("111", 111);
        hashSet.add(s1);
        hashSet.add(s2);
        hashSet.add(s3);
        hashSet.add(s4);
        System.out.println(hashSet);
        Iterator iterator = hashSet.iterator();
        while(iterator.hasNext()) {
            Student st = (Student)iterator.next();
            System.out.print(st.name + " ");
        }
    }
}

(2). TreeSet

public class TreeSetDemo {
    public static void main(String[] args) {
        TreeSet treeSet = new TreeSet();
        treeSet.add(new Student("111", 111));
        treeSet.add(new Student("222", 333));
        treeSet.add(new Student("333", 333));
        System.out.println(treeSet);
    }
}

6. Map

特点:映射关系(键值对组成),双列集合

(1). HashMap

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
        hashMap.put("张三", 20);
        hashMap.put("李四", 30);
        hashMap.put("王五", 40);
        hashMap.put("赵六", 50);
        System.out.println(hashMap);
        System.out.println(hashMap.put("张三", 40));
        System.out.println(hashMap);
        System.out.println(hashMap.get("张三"));
        System.out.println(hashMap.size());

        Set<String> keySet = hashMap.keySet();
        System.out.println(keySet);

        Set<Map.Entry<String, Integer>> entrySet = hashMap.entrySet();
        Iterator<Map.Entry<String, Integer>> iterator = entrySet.iterator();
        while(iterator.hasNext()) {
            Map.Entry<String, Integer> entry = iterator.next();
            System.out.println(entry.getKey() + ", " + entry.getValue());
        }
    }
}

7. Iterator

  Java迭代器Iterator是 Java 集合框架中的一种机制,它提供了一种在不暴露集合内部实现的情况下遍历集合元素的方法。

public class RunoobTest {
    public static void main(String[] args) {

        // 创建集合
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Zhihu");

        // 获取迭代器
        Iterator<String> it = sites.iterator();

        // 输出集合中的所有元素
        while(it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

8. 泛型 -- 泛指(不具体)的类型

  (1). 避免了强制类型转换

  (2). 将运行时ClassCastException异常转到了编译阶段

public class GenericDemo02 {
    public static void main(String[] args) {
        ArrayList<String> arrayList01 = new ArrayList<>();
        arrayList01.add("a");
        arrayList01.add("b");

        ArrayList<Integer> arrayList02 = new ArrayList<>();
        arrayList02.add(1);
        arrayList02.add(2);


    }
    private static void m1(ArrayList<String> arrayList) {
        Iterator<String> iterator = arrayList.iterator();
        while(iterator.hasNext()) {
            String str = iterator.next();
            System.out.println(str);
        }
    }
}

9. Lambda表达式

public class LambdaDemo {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("zhangsan");
        arrayList.add("lisi");
        arrayList.add("wangwu");
        arrayList.add("zhaoliu");
        arrayList.sort((o1, o2) -> {
            System.out.println(o1.compareTo(o2));
            return o1.compareTo(o2);
        });
        System.out.println(arrayList);
    }
}

 

标签:System,println,add,集合,new,public,out
From: https://www.cnblogs.com/jiuxis/p/17235559.html

相关文章

  • python字典的值的路径集合,获取所有值的key路径,字典的键路径,
    #回溯算法获取字典所有值的键的集合defget_dict_path(data):ret=[]path=[]deftraceback(path,data):iflen(path)>0andnotisinstance(data,......
  • 字典集合练习题
    ......
  • 集合幂级数学习笔记
    定义有时候我们会研究定义域在集合上的函数:考虑一个固定的全集\(U\)和其幂集\(2^U\),我们有一些\(2^U\rightarrowF\)的函数,其中\(F\)是某个域。对于定义在集合上的......
  • 常用的网站集合
    科学网博客:https://blog.sciencenet.cn/blog.php书签中国:非常有用:https://www.bookmarkearth.com/CSDN:https://www.csdn.net/论文&电子书免费下载:https://www.cnblogs.......
  • 列表、元组、字典、集合、字符串
    列表1、列表的定义定义格式:list1=[e1,e2,e3,e4...] 说明:1、空列表用[]表示 2、列表中可以存储任意类型的数据2、根据列表索引获取元素飞飞飞3、列表的切片操......
  • javascript 高级编程系列 - Set集合与Map集合
    ES6中新增的Set集合类型是一种有序列表,其中含有一些相互独立的非重复值,通过Set集合可以快速访问其中的数据,更有效地追踪各种离散值。1.创建Set集合并添加元素调用newS......
  • stream流根据集合某个字段去重
    //stream流根据集合某个字段去重,流.filter(distinctByKey)点击查看代码定义方法publicstatic<T>Predicate<T>distinctByKey(Function<?superT,?>keyExtra......
  • P2500 [SDOI2012]集合
    [SDOI2012]集合LuoguP2500[SDOI2012]集合题目描述小H在学习“集合与图论”的时候遇到了一个问题,他思考了很久依然无法很好完成这个问题。于是他只好来求助你了,给出n个......
  • JAVA~适合新手和复习~基础三(集合所有常用方法)
    Java集合框架  1Set和List的区别21.Set接口实例存储的是无序的,不重复的数据。List接口实例存储的是有序的,可以重复的元素。342.Set检索效率低下,删除和......
  • java集合相关问题
    Hashmap原理分析ConcurrentHashMap相关问题HashMap和Hashtable和HashTree和ConcurrentMap的比较HashMap和Hashtable和HashTree和ConcurrentMap的区别Vecto......