首页 > 编程语言 >Java集合

Java集合

时间:2023-02-22 21:44:17浏览次数:36  
标签:返回 Object Java 元素 List 指定 集合

Java集合

Java集合类型分为:Collection和Map,Collection子接口有:Set、Queue和List接口,每一种接口描述了一种数据结构。

1、List

List集合是有序的,可以重复出现。List接口的实现类有ArrayList和LinkedList。
ArrayList是基于动态数组数据结构的实现,LinkedList是基于链表数据结构的实现。
ArrayList优点:访问速度优于LinkedList,LinkedList占用的空间比较大;
LinkedList优点:LinkedList在批量插入或删除数据时优于ArrayList。

1.1常用方法

get(int index):返回list集合指定位置的元素
set(int index,Object element):用来指定元素替换List集合指定位置的元素
add(Ojbect element):在List尾部添加指定的元素
add(int index,Object element):在指定位置添加指定元素
remove(int index):移除List集合指定位置的元素
remove(Ojbect element):如果List集合存在指定的元素,则从List集合中移除第一次出现的指定元素
clear():从List集合移除所有元素

1.2判断元素

isEmpty():判断List集合是否有元素,没有返回true,有返回false
contains(Object element):判断list集合是否包含指定的元素,包含返回true,没有返回false

1.3查询元素

indexOf(Object o):从前往后查找list集合元素,返回第一次出现指定元素的索引,如果此列表不包含该元素,则返回-1
lastIndexOf(object o):从后往前查找list集合元素,返回第一次出现指定元素的索引,如果此列表不包含该元素,则返回-1

1.4其他

iterator():返回迭代器对象,迭代器用于遍历集合
size():返回list集合中的元素数,返回int类型
subList(int fromindex,int toindex):返回list集合从fromindex(包含)至toindex(不包含)之间的元素集合

1.5遍历集合
List list = new ArrayList();
list.add('A');
list.add('B');
list.add('c');

//for循环
for(int i=0;i<list.size();i++){
    System.out.println(list.get(i));
}

//foreach
for(Object item:list){
    System.out.println(item);
}

//迭代器
Iterator it = list.iterator();
while(it.hasNext()){
      Object item = it.next();
      System.out.println(item);
}

2、Set

Set集合是由一串无序的,不能重复的相同类型元素构成的集合。
Set 接口直接实现类主要是 HashSet

2.1常用方法

add(Object element):在set尾部添加指定的元素
remove(Object element):如果set中存在指定元素则移除
clear():移除set集合的所有元素

2.2判断元素

isEmpty():判断Set集合是否有元素,没有返回true,有返回false
contains(Object element):判断Set集合是否包含指定的元素,包含返回true,没有返回false

2.3其他

iterator():返回迭代器对象,迭代器用于遍历集合
size():返回Set集合中的元素数,返回int类型

2.4遍历

由于set集合没有序号,所以使用foreach()和迭代器进行遍历,类似List

3、MAP

MAP集合是一种非常复杂的集合,允许按照某个键来访问元素。MAP集合是由两个集合构成的,一个是键的集合,一个是值的集合。
MAP接口的实现类是HashMap,是基散列表数据结构实现的。

3.1常用方法

get(Object key):返回指定键对应的值,如果Map中不包含,返回null;
put(Object key,Object value):指定键值对添加到集合中;
remove(Object key):移除键值对;
clear():移除MAP集合中所有的键值对;

3.2判断元素

isEmpty():判断Map集合中是否有键值对,没有返回true,有返回false;
containsKey(Object key):判断键集合中是否包含指定元素,包含返回true,不包含返回false;
containsValue(Object value):判断值集合中是否包含指定元素,包含返回true,不包含返回false;

3.3查看集合

keySet():返回Map中所有的键集合,返回值是SET类型;
values():返回Map中的所有值集合,返回值是Collection类型
size():返回Map中键值对的数量

3.4遍历集合
Map map = new HashMap();
map.put(1,"李明");
map.put(2,"张三");
map.put(3,"李四");

//foreach循环遍历
Set set = map.keySet();
for(Object item:set){
      System.out.println(map.get(item));
}

//迭代器遍历
Collection collection=map.values();
Iterator iterator=collection.iterator();
while(iterator.hasNext()){
      Object item=iterator.next();
      System.out.println(item);
}

标签:返回,Object,Java,元素,List,指定,集合
From: https://www.cnblogs.com/bobstudyjava/p/17142699.html

相关文章

  • JavaScript迭代协议解读
    JavaScript迭代协议解读迭代协议分为可迭代协议和迭代器协议。协议指约定俗成的一系列规则。可迭代协议可迭代协议规定了怎么样算是一个可迭代对象:可迭代对象或其原......
  • 【JS】JavaScript进阶 ES6 - 黑马视频笔记
    1.作用域作用域(scope)规定了变量能够被访问的“范围”,离开这个范围变量便不能被访问。分为:局部作用域、全局作用域。1.1局部作用域局部作用域分为:函数作用域、块作用......
  • 【Java对象转换】003- Java 对象与 Yaml 互转
    【Java对象转换】003-Java对象与Yaml互转文章目录​​【Java对象转换】003-Java对象与Yaml互转​​​​一、Java对象与Yaml概述​​​​1、Java对象​​​​2、......
  • Java 扫描枚举类并获取属性
    Java扫描枚举类并获取属性文章目录​​Java扫描枚举类并获取属性​​​​第一步:在pom.xml下导入hutool和commons-lang3​​​​第二步:写一个接口以规范枚举的属性​......
  • 【Java对象转换】002- Java 对象与 Map 互转
    文章目录​​【Java对象转换】002-Java对象与Map互转​​​​一、Java对象与Map概述​​​​1、Java对象​​​​2、Map​​​​二、Java对象与Map互转​​​​1......
  • Java 截取字符串 split 方法与 substring 方法简单比较
    Java截取字符串split方法与substring方法简单比较文章目录​​Java截取字符串`split`方法与`substring`方法简单比较​​​​0、结论​​​​1、截取目标​​​​......
  • 【Java对象转换】001- Java 对象与 JSON 互转
    文章目录​​【Java对象转换】001-Java对象与JSON互转​​​​一、Java对象与JSON概述​​​​1、Java对象​​​​2、JSON​​​​二、JSON解析及与Java对象互转......
  • 【JavaScript】JS引擎中执行上下文如何顺序执行代码
    首先我们知道JavaScript引擎包括一个调用栈和堆,调用栈是代码实际执行的地方,使用执行上下文(执行环境)来完成;堆是非结构化的内存池,存储了应用程序所需要的所有对象。执行上......
  • java环境搭建
    百度下载jdk8(8u181)先登录甲骨文再下载,安装后要记得安装目录在我的电脑,属性,高级设置,环境变量里新建JAVA_HOME环境名,地址是安装目录找到Path在里面添加%JAVA_HOME%/bin和......
  • Java帝国的诞生
    Java帝国的诞生C&C++1972年C诞生贴近硬件,运行极快,效率极高。操作系统,编译器,数据库,网络系统等指针和内存管理1982年C++诞生面向对象兼容C图形领域、游戏等1995年J......