java中的list map set中能存放不同数据类型的元素吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的list map set中能存放不同数据类型的元素吗相关的知识,希望对你有一定的参考价值。
比如一个相同的list实例中能放多中数据类型的元素吗
可以。用事实说话,已测试。如下。涉及到的数据类型 String、int、double、boolean
import java.util.ArrayList;import java.util.List;
public class Test
@SuppressWarnings("unchecked")
public static void main(String[] args)
List l = new ArrayList();
l.add(0, "\\"");
l.add(1, 1);
l.add(2," + ");
l.add(3,2.0);
l.add(4," == ");
l.add(5,3);
l.add(6, "\\"");
l.add(7," is ");
l.add(8,true);
System.out.print("Though 1 + 2.0 = ");
System.out.println(1+2.0);
if(1 + 2.0 == 3)
for(int i=0 ; i<l.size(); i++)
System.out.print(l.get(i));
运行结果:
Though 1 + 2.0 = 3.0
"1 + 2.0 == 3" is true
参考技术A 相当可以,list里面实际上存放的是Object类型,所以随便放,就算你加了泛型的限定了,你也可以往里放,通过反射,想放什么放什么,集合中的泛型是给编译器看的,过了编译阶段,泛型就不存在了,所以里面的还是接受object类型.如果你放基本数据类型,比如int 会被包装成Integer 不过一样,有自动拆箱装箱. 参考技术B 只要你不给它定义泛型,就可以 参考技术C 可以,不指定泛型类型就可以 参考技术D 可以Java中的集合类Lambda鲁棒性简述
集合类
在java.util包中提供了一些集合类,常用的有List、Set和Map类,其中List类和Set类继承了Collection接口。这些集合类又称为容器,长度是可变的,数组用来存放基本数据类型的数据,集合用来存放类对象的引用。
List接口、Set接口、Map接口以及Collection接口的主要特征如下:
Collection接口是List接口和Set接口的父接口,通常情况下不被直接使用。
List接口继承了Collection接口,List接口允许存放重复的对象,排序方式为按照对象的插入顺序。
Set接口继承了Collection接口,Set接口不允许存放重复的对象,排序方式为按照自身内部的排序规则。
Map接口以键值对(key—value)的形式存放对象,其中键(key)对象不可以重复,值(value)对象可以重复,排序方式为按照自身内部的规则。
Lambda表达式
其主要作用就是代替匿名内部类的繁琐语法, 它由三部分组成:
(1) 形参列表。形参列表允许省略形参类型。如果形参列表中只有一个参数,甚至连形参列表的圆括号也可以省略。
(2) 箭头(→)。必须通过英文中画线和大于符号组成。
(3)代码块。如果代码块只包含一条语句,Lambda表达式允许省略代码块的花括号,那么那条语句就不要用花括号表示语句结束。Lambda代码块只有一条return语句,甚至可以省略return关键字。Lambda表达式需要返回值,而它的代码块中仅有一套省略了return的语句。Lambda表达式会自动返回这条语句的值。
鲁棒性(Robust,即健壮性)
Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生 的错误。通过集成的面向对象的例外处理机制,在编译时,Java揭示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。另外,
Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。
以上是关于java中的list map set中能存放不同数据类型的元素吗的主要内容,如果未能解决你的问题,请参考以下文章