数组与集合的区别、Collection集合及常见的方法

7 篇文章 0 订阅
订阅专栏

数组与集合的区别

存储类型:

  • 数组可以储存基本数据类型,有可以储存引用数据类型,基本数据储存的是值,引用数据类型储存的是地址值
  • 集合只能储存引用数据类型(对象)集合中也可以储存基本数据类型,但是在储存的时候会自动装箱变成对象

长度:

  • 数组的长度是固定的
  • 集合的长度是可变的,可以根据元素的增加而增长
  • 数组中长度的大小用length,集合中用size()

应用场景:

  • 如果元素的长度是固定的推荐使用数组
  • 如果数组元素的个数不是固定的推荐使用集合

Collection

  • Collection 是一个接口
  • 有很多实现类如ArrayList、HashSet、LinkedList等等
public class Test {
    public static void main(String[] args) {
        //报红,Collection是一个接口,不能实例化
       // Collection<String> c = new Collection<String>();
    }
}
怎么办看看api,有哪些实现类,没有api,也没有关系,在idea中选中此接口 ctrl + alt + B

在这里插入图片描述

public class Test {
    public static void main(String[] args) {
        //报红,Collection是一个接口,不能实例化
        //向上转型
        Collection<String> c = new ArrayList<>();
        c.add("a");
        c.add("b");
        System.out.println(c);
    }
}

Collection的方法

建议没事的时候自己使用使用方法,增加熟练度,当然我所说的不是看着别人的代码敲
  • boolean add(E e); //添加
  • boolean remove(Objiect o); //删除
  • void clear(); //清除
  • boolean contains(Object o); //是否包含
  • boolean isEmpty(); //是否为空
  • int size(); //集合大小
  • Collection带All的基本方法
  • boolean addAll(Collection c) //把集合看作一个对象添加给另外一个集合
  • boolean removeAll(Collection c) //删除两个集合的是交集,返回值是布尔值
  • boolean containsAll(Collection c) //这个集合是否包含另外一个集合的所有元素,返回值是布尔值
  • boolean retainAll(Collection c); 取交集,如果调用的集合改变就返回true,如果调用的集合不变就返回false,主要看c
    在这里插入图片描述

例子

import java.util.ArrayList;
import java.util.Collection;

public class Collection1 {
	public static void main(String[] args) {
//		demo1();
		Collection c = new ArrayList();
		c.add("a");
		c.add("b");
		c.add("c");
		c.add("d");
		System.out.println(c);			//[a,b,c,d]
		c.remove("b");					
		System.out.println(c);			//[a,c,d]
		c.clear();
		System.out.println(c);			//[]
		c.add("a");
		c.add("b");
		c.add("c");
		System.out.println(c.contains("b"));	//[a,b,c]
		System.out.println(c.isEmpty());		//false
		System.out.println(c.size());			//3
	}

	private static void demo1() {
		/*
		 * add()的参数是一个对象,返回值是布尔值
		 * ArrayList的父类的父类重写toString()方法,所以在打印对象的引用的时候,输出结果不是Object类中toString的结果
		 */
		Collection c = new ArrayList();
		boolean b = c.add("abc");		
		boolean b2 = c.add("abc");
		boolean b3 = c.add(true);
		boolean b4 = c.add(100);
		boolean b5 = c.add(new Student("张三",23));
		System.out.println(b);		//true
		System.out.println(b2);		//true
		System.out.println(b3);		//true
		System.out.println(b4);		//true
		System.out.println(b5);		//true
		System.out.println(c.toString());
	}
}

Student类

public class Student {
	private String name;
	private int age;
	
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + age + "]";
	};
}
Java笔记(14)对象数组Collection集合
weixin_42621024的博客
07-20 262
Java笔记(14) 1.对象数组 在java中,数组即可以存储基本类型,也可以存储引用类型,存储引用类型时,就叫做对象数组。 假如有一个Student类,那么创建一个Student对象数组就是如下格式: Student[] s = new Student[5]; 这里Student[]数组存储的是每一个Student对象的引用; 2.Collection容器 Collection字面意思就是容器...
数组Collection的比较 (转)
LiuTaiYe的专栏
11-30 1816
<br />声明:因为个人空间从MSN迁移到WordPress上之后,国内现在竟然访问不了了,只得在CSDN再起炉灶。此贴来源已不明。<br /> <br />数组 和其它容器的区别主要有三方面:效率,类型,和保存基本类型的能力。在Java中,数组是一种效率很高的存储和随机访问对象引用序列的方式。数组是一个简单的线性序列,因此访问速度很快,但也损失了其它一些特性。创建一个数组对象后,大小就固定了,如果空间不够,通常是再创建一个数组,然后把旧数组中的所有引用移到新数组中。数组可可以保存基本类型,容器不行。容
JavaSE集合框架
qq_17200461的博客
10-21 263
每个容器对数据的存储方式都有不同。这个存储方式我们称为数据结构 Collection共性方法
C# 集合(Collections),数组集合区别集合与列表的区别
最新发布
2302_77639120的博客
07-30 1094
数组集合,但集合不一定是数组数组存储的类型不限制。集合存储的类型只能是引用类型。数组(一般是相同数据类型,但object[]数组元素类型可以不同)的元素按一定顺序排列集合数组在添加,插入,删除等比方便,说明数组不是链表,但数组的读取(查询)速度比集合快。集合是线性表,在插入,添加,删除数据时比较方面,性能比数组高。数组实现了6个接口,前4个接口很重要public interface IList :ICollection,IEnumerable 说明列表也是集合的一种。
集合Collection(List集合)与数组区别与联系、常用List实现类的使用
Harris-H的博客
10-20 709
集合Collection(List集合)与数组区别与联系、常用List实现类的使用 1.ListListList指定数据类型之后就只能使用一种数据类型,可以使用add(val)add(val)add(val)方法添加元素,get(pos)get(pos)get(pos)查询元素,集合长度可变,如果未使用泛型则会造成类型不安全,但是可以存放多种数据类型。 2.可以用toArray()toArray()toArray()方法把listlistlist集合转换为Object[]Object[]Object[]数
Java集合Collection-数组集合区别集合特点、常用方法、遍历-List有序集合-Set无序集合-Map双列集合
qq_39497997的博客
08-30 1781
文章目录1 Collection1.1 数组集合区别1.2 集合的特点1.3 Collection方法1.4 遍历2 List有序集合-ArrayList和LinkedList2.1 特有方法2.2 ArrayList2.3 LinkedList3 Set无序唯一集合LinkedHashSet-TreeSet3.1 HashSet3.2 LinkedHashSet3.3 TreeSet4 Map双列集合4.1 Map集合Collection集合区别4.2 Map集合方法4.3 HashMap4.4
数组集合
05-25
数组(Array)是同类型数据的有序集合,而集合Collection)则是更加灵活的数据结构,可以存储任意类型的对象。Java为这两种数据存储方式提供了丰富的支持和API。下面将详细介绍Java中数组集合的使用、特点和常见...
数组集合有什么不同之处
千锋教育
12-29 2361
如果要存储基本数据类型,并且也有固定的个数,如果元素个数是固定的,推荐用数组如果元素个数不是固定的, 推荐用集合,因为数组的长度是固定的(数组是静态的,一个数组实例具有固定大小,一旦创建,无法改变),集合长度是可以改变的(根据需要动态改变大小,而且集合提供了更多的成员方法,可以满足更多的需求),简单来说,元素个数固定,推荐使用数组,若元素个数不固定,推荐使用集合。4.数组是java语言内置的数据类型,是线性排列的数组,所以可以快速访问元素,正因为数组有这样的优点,大家可以看到很多集合的底层结构就是数组
Java集合数组区别简介及相互转换实例
08-28
Java集合数组区别简介及相互转换实例 Java集合Collection)和数组(Array)是Java语言中两种常用的数据存储结构,它们之间存在着一定的区别和联系。本文将主要介绍Java集合数组区别简介及相互转换实例,...
Java程序设计 3 数组集合 简图.ppt
07-11
数组集合区别 数组集合是Java程序设计中的两种基本数据结构,数组的长度是固定的,而集合的大小可以动态变化。数组的元素类型是固定的,而集合可以存储多种类型的数据。 实现集合 实现集合可以通过实现...
MyBatis传入数组集合类并使用foreach遍历
08-25
"MyBatis传入数组集合类并使用foreach遍历" MyBatis是一款流行的Java持久层框架,提供了强大的数据访问能力,今天我们来讨论如何在MyBatis中传入数组集合类并使用foreach遍历。 在实际开发中,我们经常需要将数组...
数组集合的几个区别(五个)
09-24
数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。 数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。
java数组和容器(Collection)
luorufeng的专栏
09-20 206
一,数组:(定义、分配空间、赋值) 一维数组的声明:type []  var 或者 type  var []; java中试用new 创建数组对象格式为:数组名 = new 数组元素类型[数组元素个数]; 注意理解基本数据类型数组和引用类型一维数组的内存分配差异。 数组的定义与初始化   1,数组动态初始化(数组的定义也就是数组的空间分配和数组元素的赋值分开进行):数组的定义与数组...
JavaScript HTMLcollection数组区别说明及转化
A13330069275的博客
11-29 7856
我们在获取一组页面元素时常会用到getElementsByName()或是getElementsByTagName()方法。 其中getElementsByName(name)方法是获取页面中所有具有name属性的元素,但这个方法在IE与标准浏览器中所取到的内容不一样。在IE中getElementsByName(name)方法所取到的元素是其本身就自带有name属性也就是form表单中所列出
Collection集合数组补充
经验分享
05-06 614
数组 数组集合都是容器 数组定义完成并启动后,类型确定,长度固定,在进行增删数据操作的时候,数组是不太合适的,增删数据都需要放弃原有数组或位移 数组适合的场景 当业务数据的个数是固定的,且都是同一批数据类型的时候,可以采用定义数组存储 集合 集合是java中存储对象数据的一种容器 特点 集合的大小不固定,启动后可以动态变化,类型也可以选择不固定,集合更像气球 集合非常适合做元素的增删操作 注意: 集合中只能存储引用类型数据,如果要存储基本类型数据可以选用包装类 集合类体系结构 Collection
数组集合区别
weixin_30477293的博客
06-02 50
数组集合区别 一、数组声明了它容纳的元素的类型,而集合不声明。 二、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。 三、数组的存放的类型只能是一种(基本类型/引用类型),集合存放的类型可以不是一种(不加泛型时添加的类型是Object)。(与Java数组不同,Java集合中...
[转载]历史上的 Collection 类 ― 数组
congji3817的博客
06-17 182
历史上的 Collection 类 ― 数组 数组是在 Java 编程语言中定义的唯一的 Collection 支持。它们是按照 索引可访问的顺序或位置次序来存储一组元素的对象。它...
Java——(对象数组Collection集合
满眼星陈ya的博客
12-13 508
目录 1、对象数组的概述和使用 2、集合的由来及集合继承体系图 3、Collection集合的功能概述 4、Collection集合存储字符串并遍历 1、对象数组的概述和使用 数组作为容器,来存储元素,但是有一些不方便的地方,数组的长度是固定的,一旦定义,就不能改变。 有的时候,我们想要往数组中添加元素,或删除元素,就不是很方便了。 Java考虑到,我们能够更加容易的操作容器中的元素,给我们提供了另外一种容器,就是集合集合数组区别数组长度是固定的,一旦定义,就不...
Collection集合数组
xjswmgw的博客
09-27 432
------- android培训、java培训、期待与您交流! ---------- 1,定义:集合数组也是一个引用类型类,不过是用来存储对象的容器(实质存储的是对象的引用地址),方便批量操作引用类型的对象; 2集合数组区别:          2.1储存元素类型: 2.11 数组既可以存储基本数据类型;也可以存储引用类型;但是只能存贮同一种类型的元素; 2.12集合只能是引用类
写文章

热门文章

  • 求奇数和:输入一批正整数(以零或负数为结束标志),求其中的奇数和。试 编写相应程序 40339
  • 伪代码介绍 36245
  • 使用函数输出一个整数的逆序数:输入一个整数,将它逆序输出。 要求定义并调用函数 reverse(number),它的功能是返回 number 的逆序数。 32085
  • e = 1 + 1/1!+1/ 2!+1/ 3!+…+1/n!(数列求和) 27502
  • 百钱买百鸡问题 26328

分类专栏

  • 数据结构 付费 23篇
  • 算法 5篇
  • 计算机网络 3篇
  • 23设计模式 20篇
  • 操作系统 1篇
  • 面试 4篇
  • mysql 19篇
  • Redis 6篇
  • nginx 1篇
  • 消息中间件 1篇
  • c语言基础 7篇
  • docker 2篇
  • jvm 5篇
  • springcloud 4篇
  • linux 1篇
  • java网络编程 1篇
  • java并发编程 3篇
  • jdk8 2篇
  • 编译原理与技术 5篇
  • 高并发与系统架构
  • javaweb 1篇
  • 项目 1篇
  • 汇编语言 10篇
  • 计算机图形学 2篇
  • 微信小程序 7篇
  • 计算机组成原理 7篇
  • html+css+js 3篇
  • 问题 15篇
  • js 12篇
  • 工具 15篇
  • git 2篇
  • vue 9篇
  • thymeleaf 11篇
  • springboot 23篇
  • shiro 1篇
  • springsecurity 7篇
  • springmvc 11篇
  • spring 4篇
  • mybatis 7篇
  • 基础算法题 33篇
  • java基础知识 2篇
  • java基础知识 11篇
  • 特殊类 8篇
  • 正则表达式 3篇
  • 泛型 2篇
  • 集合 7篇
  • 反射 1篇
  • 多线程 4篇
  • io流与网络编程 5篇
  • 软件安装 12篇

最新评论

  • 兔子繁衍问题(pat)斐波那契数列

    Cipher389: 博主,while 解法没有考虑n=0或n=1的情况

  • 求奇数和:输入一批正整数(以零或负数为结束标志),求其中的奇数和。试 编写相应程序

    2301_78275612: 不是,你写错了也不改一下,这不是误导那些刚学的人嘛,真的无语,要么你直接删了也可以表情包

  • 设字符型变量 x 的值是 064,表达式....的值是

    HANrandom: 原题没有问题,字符型变量就当是char吧,char只有8bit,所以064的二进制不是1...00110100而是00110100这样算下来最后就一点问题都没有了

  • 求奇数和:输入一批正整数(以零或负数为结束标志),求其中的奇数和。试 编写相应程序

    2401_83154477: ✓石表情包

  • 百钱买百鸡问题

    Eternal_meteor03: [code=csharp] #include <stdio.h> int main(void) { int x, y, z; //x * 5 + y * 3 + z * (1.0 / 0.3) == 100; for (x = 1; x <= 19; x++) { for (y = 1; y <= 31; y++) { z = 100 - x - y; if ((int)(x * 5 + y * 3 + z * (1.0 / 3.0)) == 100 && x + y + z == 100) { printf("公鸡:%d 母鸡:%d 小鸡:%d\n", x, y, z); } } } return 0; } [/code]

最新文章

  • HttpUtils工具类
  • springboot+thymleaf热部署
  • aop编程切点的的过滤execution的语法、cron表达式的语法
2023年17篇
2022年70篇
2021年46篇
2020年161篇
2019年44篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家百度推广玻璃钢雕塑雕塑用玻璃钢好还是不锈钢好济南玻璃钢人像雕塑制作廊坊玻璃钢仿真水果雕塑价格发光的透明的玻璃钢雕塑玻璃钢雕塑市场前景呼和浩特广场玻璃钢雕塑制作集安玻璃钢花盆花器龙泉驿玻璃钢造型雕塑许昌玻璃钢雕塑定做价格南阳玻璃钢雕塑费用郑州广场标识玻璃钢雕塑生产呈贡玻璃钢雕塑产品厂家哪里有新密玻璃钢牌匾雕塑元古玻璃钢雕塑厂家儿童玻璃钢雕塑厂家工厂宁夏仿真人物玻璃钢雕塑价格节庆商场美陈报价张家口玻璃钢雕塑制作郑州玻璃钢现代雕塑酒店玻璃钢雕塑厂中庭商场美陈生产企业仙林商场美陈布展福建玻璃钢卡通雕塑定制玻璃钢花盆包头哈尔滨商场美陈方案商场 美陈 方案玻璃钢人物雕塑天使像宣城特色玻璃钢雕塑生产厂家动漫玻璃钢雕塑加工香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化