什么是集合?集合的相关知识
集合概述:集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
集合类有很多,先看ArrayList
ArrayList<E>:可以调整大小的数据实现,<E>:是一种特殊的数据类型,泛型。
<E>如何使用呢?
在出现的地方我们使用引用数据类型替换即可。举例:ArrayList<String>,ArrayList<Student>
ArrayList构造方法和添加方法:
public ArrayList();-------------创建一个空的集合对象
public boolean add(E e);-------------将指定元素追加到此集合的末尾
public void add(int index,E element);---------------在此集合指定位置插入指定的元素
import java.util.ArrayList;public class demo {public static void main(String[] args) {ArrayList<String > array =new ArrayList<String>();array.add("hello");array.add("java");array.add("keke");System.out.println(array);array.add(3,"wang");System.out.println(array);}
}
集合如同数组一样,元素也是从零开始,但是可以在末尾添加元素,如果超过末尾添加,就会报集合越界异常
ArrayList集合常用方法:
public boolean remove(Object o);--------------删除指定的元素,返回删除是否成功
public E remove(int index);-----------------删除指定索引处的元素,返回被删除的元素
public E set(int index,E element);-----------------修改指定索引处的元素,返回被修改的元素
public E get(int index);---------------------返回指定索引处的元素
public int size();------------------返回集合中元素的个数
import java.util.ArrayList;public class demo1 {public static void main(String[] args) {ArrayList<String> array = new ArrayList<>();array.add("hello");array.add("word");array.add("xiaowang");array.remove("word");//这样直接调不会输出trueSystem.out.println(array.remove("hello"));//这样会输出trueSystem.out.println(array.remove("he"));//这样会输出falseSystem.out.println(array);/*array.remove(1); //这样直接调不会返回被删除的元素System.out.println(array.remove(2));//这样会返回被删除的元素System.out.println(array.remove(5));//索引越界异常System.out.println(array);*//*array.set(1,"keke"); //修改了1索引处内容,没有返回System.out.println( array.set(1,"keke"));//修改了1索引处内容,有返回System.out.println(array);*//*array.get(2);System.out.println(array.get(2)); //得到了2索引处内容System.out.println(array);*/System.out.println(array.size());}
}
集合遍历格式:
for (int i=0;i<集合对象.size();i++){
集合对象.get(i) 就是指定索引处的元素
}
集合的体系结构:(红色标注的为接口,紫色标准的为实现类)
集合分为:Collection(单列集合)和Map(双列集合)
Collection(单列集合):分为List(存储元素可重复集合)和Set(存储元素不可重复集合)
List(存储元素可重复集合):分ArrayList,LinkedList等
Set(存储元素不可重复集合):分HashSet,TreeSet等
Map(双列集合):分HashMap等
这里是接口的是:Collection ,Map ,List , Set
这里是实现类的是:ArrayList,LinkedList,HashSet,TreeSet,HashMap
Collection集合概述和使用:
Collection是单列集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
jdk不提供此接口的任何直接实现,它提供更具体的子接口(如List 和Set)实现
创建Collection集合对象:采用多态的方式,具体实现类ArrayList
public static void main(String[] args){
Collection <String> c = new ArrayList<String>();//创建对象
}
Collection集合常用方法:
boolean add(E e);--------------添加元素
boolean remove(Object o);-----------------从集合中移除指定的元素
boolean contains(Object o);-----------------判断集合中是否存在指定的元素
void clear;-----------------清空集合中的元素
boolean isEmpty();---------------------判断集合是否为空
int size();------------------集合中元素的个数,集合长度
Collection集合的遍历
Iterator:迭代器,集合的专用遍历方式
Iterator<E> iterator();返回此集合中元素的迭代器,通过集合的iterator();方法得到
因为迭代器是通过集合的iterator();方法得到,所以我们说它依赖于集合而存在
Iterator中的常用方法:
E next():返回迭代中的下一个元素
boolean hasNext:如果迭代具有更多元素,则返回true
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class demo2 {public static void main(String[] args) {Collection<String> c = new ArrayList<String >();c.add("xue");c.add("xi");c.add("java");Iterator<String> i = c.iterator();while (i.hasNext()){String s= i.next();System.out.println(s);}}
}
Collection集合的使用步骤:
创建集合对象
添加元素:创建元素,添加元素到集合
遍历集合:通过集合对象获取迭代器对象,判断是否有元素,获取元素
List集合概述和特点:
List集合概述:有序集合(也称序列)用户可以精准控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素。与Set集合不同,列表通常允许重复的元素
List集合的特点:有序:存储和取出的元素顺序一致。可重复:存储的元素可以重复
LIst集合特有方法:
void add (int index, E element);--------------在集合中的指定位置插入指定的元素
E remove(int index);-----------------删除指定索引处的元素,返回被删除的元素
E set(int index,E element);-----------------修改指定索引处的元素,返回被修改的元素
E get(int index);---------------------返回指定索引处的元素
import java.util.ArrayList;
import java.util.List;public class demo {public static void main(String[] args) {List<String> array = new ArrayList<String>();array.add("hello");array.add("java");array.add("keke");System.out.println(array);array.add(3, "wang");array.remove(3);array.set(1, "xiang");System.out.println(array.get(0));System.out.println(array);for (int i = 0; i < array.size(); i++) {String s = array.get(i);System.out.println(s);}}
}
什么是集合?集合的相关知识相关推荐
- java集合——集合框架
[0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--集合框架 的相关知识: [1]集合框架 1.1) java集合类库构成了集合 ...
- Java之集合(最全集合相关知识)
集合 集合 一.集合概述 1.为什么要学习集合? 2.定义 3.说明 4.注意 5.集合分类 5.1 单列集合Collection 5.2 双列集合Map 二.Collection接口 1.相关方法 ...
- IT:银行类金融科技岗笔试习题集合—各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理)
IT:银行类金融科技岗笔试习题集合-各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理) 导读:因为博主后台留言太 ...
- java学习--基础知识进阶第七天--HashSet集合、HashMap集合(集合遍历)
今日内容介绍 u HashSet集合 u HashMap集合(集合遍历) 第1章 HashSet集合 1.1 Set接口的特点 Set体系的集合: A:存入集合的顺序和取出集合的顺序不一致 B ...
- WinForm开发,窗体显示和窗体传值相关知识总结
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm开发,把用到的相关知识整理如下 A.WinForm中窗体显示显示窗体可以有以下2种方法: Form.ShowDialo ...
- 路由相关知识,静态路由、默认路由、浮动路由的概念以及基本设置
路由相关知识,静态路由.默认路由.浮动路由的概念以及基本设置 选取最佳路由时的标准 路由表 路由表的形成 静态路由概念 静态路由的优点和缺点 默认路由 浮动路由 路由协议分类 静态路由.默认路由.浮动 ...
- 并查集的相关知识详解 Come baby!!!
一:并查集的相关知识 这道题用到了并查集,所以我就学了一下并查集,所以把自己的见解也分享给大家(建议 先看视频 再浏览 博客 再自己敲一遍 学习效率高而已,我总是乱着来 以为看几篇博客就会了,其实最后 ...
- java集合——集合与数组间的转换+算法
[0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--集合与数组间的转换+算法 的相关知识: 0.2) for full sour ...
- java集合——集合接口+迭代器接口
[0]README 0.1) 本文描述转自 core java volume 1, 源代码 diy 的, 旨在理解 java集合框架--集合接口+迭代器接口 的相关知识: 0.2) for full ...
- 【Python】元组和列表相关知识总结
python中,我们经常用到元组和列表,本文主要总结了一下元组和列表的一些基本用法. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
最新文章
- MySQL RR隔离级别的更新冲突策略
- 英国最新报告:40% AI公司其实没用任何AI技术
- idea 设置光标回到上一次位置的快捷键
- MYSQL: MERGE引擎实现多分表的联合
- java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型
- [转]《帮我买个单》
- “进度条”博客——第十三周
- 光电经典好书:《光电系统设计基础》-吴晗平
- python花瓣_Python 花瓣网动态爬虫
- 朗文3000词汇表带音标_SBS朗文国际英语教程第二册单词表(带音标)
- 开源GIS-01-开源库的编译
- 对事件流的小故事理解
- wow插件入门资源整理
- 把互联网界的大牛——王煜全老师开出的书单和大家分享一下
- 「技巧」如何快速安装 Sketch 插件
- Xposed插件编写
- 购买新款macbook pro,现在买还是等双十一?
- Docker构建harbor+IDEA,一篇文章就够了
- 瑞利散射 拉曼散射 米散射_使用Cartopy的时移散射图可视化
- 前端开发面试知识点大纲