集合、collection、list的方法

简介: 集合、collection、list的方法

集合、collection、list的方法


集合

弥补了数组的缺点

存储一堆数据时,首选集合

Collection

List 列表 存储的数据有序,且可以重复

ArrayList 底层使用的数组,查询快,增删慢 (面试:ArrayList如何扩容?)

Set 存储的数据无序,且不可重复

Map 存储的是key-value结构数据

Collection中的方法:

package com.qfedu.collection;
import java.util.ArrayList;
import java.util.Collection;
public class App {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    Collection collection = new ArrayList();
    // 向集合中添加元素
    collection.add("英雄联盟");
    collection.add("穿越火线");
    System.out.println(collection);
    // 删除指定的元素
    collection.remove("穿越火线");
    System.out.println(collection);
    Collection temp = new ArrayList();
    temp.add("梦幻西游");
    temp.add("王者荣耀");
    // 将一个集合中数据添加到另一个集合中
    collection.addAll(temp);
    System.out.println(collection);
    // 删除指定的集合
//    collection.removeAll(temp);
//    System.out.println(collection);
    // 获取集合中元素的个数
    System.out.println(collection.size());
    // 判断集合中是否有元素
    System.out.println(collection.isEmpty());
    // 判断是否包含指定的对象
    System.out.println(collection.contains("英雄联盟123"));
    // 判断是否包含集合中的所有元素
    System.out.println(collection.containsAll(temp));
    // 清空集合
    collection.clear();
    System.out.println(collection);
  }
}

List中方法:

package com.qfedu.list;
import java.util.ArrayList;
import java.util.List;
public class App {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    List list = new ArrayList();
    list.add("Java");
    list.add("python");
    list.add("iOS");
    // 在指定索引处插入元素, 其他元素下移
    list.add(1, "AI");
    System.out.println(list);
    // 设置指定索引处的元素
    list.set(2, "UI");
    System.out.println(list);
    // 获取指定索引处的元素
    System.out.println(list.get(0));
    list.add("AI");
    System.out.println(list);
    // 获取指定元素的索引 如果没有找到,返回-1
    System.out.println(list.indexOf("AI"));
    System.out.println(list.lastIndexOf("AI123"));
    // 根据开始索引、结束索引,进行list集合的截取, 不包含结束索引处的元素
    List subList = list.subList(1, 3);
    System.out.println(subList);
    // 添加不同类型的元素
    list.add(100);
    list.add(12.3);
    System.out.println(list);
    Object item = list.get(0);
    // 强制类型转换
    String str = (String)item;
    System.out.println(str.length());
    // 理论上,集合中可以存储不同类型的数据,实际开发是,存的都是相同类型的数据
    // java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
//    Object object = list.get(5);
//    String str2 = (String)object;
//    System.out.println(str2.length());
    // 泛型    针对集合,在<>指定需要存储的数据类型,<>中使用的数据类型是引用类型
    List<String> list2 = new ArrayList<String>();
    list2.add("haha");
    // list2.add(10); 语法上报错
    // 取值的时候也不需要进行强制类型转换
    String string = list2.get(0);
    System.out.println(string);
  }
}
相关文章
|
5天前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
5天前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List
|
5天前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
10天前
List集合的实现类
List集合的实现类
|
2月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
181 1
|
20天前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
|
24天前
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
1月前
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
|
2月前
|
Java API
使用 Java 来实现两个 List 的差集操作
使用 Java 来实现两个 List 的差集操作
30 3
|
1月前
|
存储 Java 索引
Java List接口实现原理与性能评估
Java List接口实现原理与性能评估