- 浏览: 65230 次
文章分类
java中 List类及其子类转换成数组
e.g. List中盛放 SomeClass 对象
两个方法
1. toArray() 返回 Object[],无法强制转换成 SomeClass[],Object[]和SomeClass[]均是Object子类,想要转换,就必须对SomeClass[]中每个元素依次转换
2.
含义,先创建一个大小为List容量的SomeClass[],通过toArray(),将里面的对象全部复制到SomeClass[]中,然后用sc指向这个新创建的SomeClass[]
根据java源码
如果看api仍然看不懂,建议看源码,自己学习分析,不要动不动就要google,先自己分析,再来求教他人。
容器存放内容
如果容器中盛放类,数组,存放的实际上是引用,而非值。如果是基本类型,如整型,String等,则为值。
在ArrayList, HashMap中多次犯错
e.g.
语句 1 不能放在 for 外面,debug的时候,发现,HashMap中,存储的是 strs 地址,如果放在外面,则整个过程中,HashMap只有一组 key-value,HashMap 存储的内容一直未变。
3. 增加或删除容器元素
通过遍历容器来增删元素时,要注意修改索引值,根据api,增加或删除后,该元素之后的所有元素都会发生变化,索引值均加1或减1
e.g.
e.g. List中盛放 SomeClass 对象
两个方法
1. toArray() 返回 Object[],无法强制转换成 SomeClass[],Object[]和SomeClass[]均是Object子类,想要转换,就必须对SomeClass[]中每个元素依次转换
Object[] o= new Object[2]; o[0]= "1 "; o[1]= "2 "; String[] ss = new String[2]; ss[0] = (String)o[0]; ss[1] = (String)o[1];
2.
SomeClass[] sc = null; sc = List.toArray(new SomeClass[List.size()]);
含义,先创建一个大小为List容量的SomeClass[],通过toArray(),将里面的对象全部复制到SomeClass[]中,然后用sc指向这个新创建的SomeClass[]
根据java源码
public Object[] toArray(Object a[]){ if(a.length < size) a = (Object[])java.lang.reflect.Array.newInstance( a.getClass().getComponentType(), size); System.arraycopy(elementData,0,a, 0, size); if(a.length > size) a[size] = null; return a; }
如果看api仍然看不懂,建议看源码,自己学习分析,不要动不动就要google,先自己分析,再来求教他人。
容器存放内容
如果容器中盛放类,数组,存放的实际上是引用,而非值。如果是基本类型,如整型,String等,则为值。
在ArrayList, HashMap中多次犯错
e.g.
HashMap<String[], Integer> map = new HashMap<String[], Integer>(); for i ... { String[] strs = new String[3]; 1 map.put(strs, i); }
语句 1 不能放在 for 外面,debug的时候,发现,HashMap中,存储的是 strs 地址,如果放在外面,则整个过程中,HashMap只有一组 key-value,HashMap 存储的内容一直未变。
3. 增加或删除容器元素
通过遍历容器来增删元素时,要注意修改索引值,根据api,增加或删除后,该元素之后的所有元素都会发生变化,索引值均加1或减1
e.g.
for(int i = 0; i < List.size(); i++) { if (some condition) { List.remove(i); i--; } }
发表评论
-
去掉标点
2015-10-28 14:56 0String regPunctuation = "[ ... -
分割多个空格字符
2015-02-14 07:53 0String s = " -8.5521 1 ... -
ResultSet 记录数
2013-05-17 23:58 10331. select count(*) from table; ... -
编程中的相对路径
2013-04-17 19:58 805project中的相对路径,以工程名为相对路径 SAT ... -
移位操作
2013-04-16 19:07 0左移,<< 补0 右移,>> 无符号 ... -
字符串
2013-04-14 16:42 807c++ 中 常量字符串存储在单独额内存区域, ... -
spring+hibernate 声明式事务管理
2013-03-01 21:24 1089之前在使用 spring+hibernate 声明式事务管理时 ... -
hibernate中的映射文件加载路径
2013-03-01 21:13 2639hibernate中,hbm.xml映射文件加载,目前据我所知 ... -
contains(), containsKey(), containsValue(), equals(), hashCode()
2012-12-30 23:10 2283contains(), containsKey(), cont ... -
try中 finally 与 return
2012-12-18 22:59 544try {}里有一个return语句,那么紧跟在这个try后的 ... -
编程时的错误
2012-12-17 11:29 01. 变量,容器需要 归零 e.g 在循环中,某些变量要在 ... -
eclipse debug
2012-12-17 11:22 0hit count 设置执行次数 适合程序中的for循环(设 ... -
编程的不好习惯
2012-12-09 14:54 0编程的不好习惯 1. 关于求最大最小值,不要假设一个可能的最 ... -
web项目开发一定要有lib文件夹
2012-12-07 19:43 951进行web开发时,在 WebContent --> ... -
嵌套容器 需要测试
2012-12-04 21:08 0嵌套容器, HashMap<Integer, Array ... -
关于hibernate中delete的疑问
2012-12-04 20:23 0现在我的hibernate开发中,关于 delete 操作, ... -
HashMap的读取
2012-12-01 17:25 2339HashMap的读取 调用 entrySet() ... -
json中key must be strings, unquoted错误
2012-12-01 00:14 5103json中key 必须是 string类型,包括JSONObj ... -
java 对象排序
2012-11-21 21:47 0java对象排序,有两种 1. 实现java.lang.Co ... -
设置eclipse工程jvm大小
2012-11-21 16:28 821在eclipse中设置某工程jvm大小,只对该工程有效 修改 ...
相关推荐
java容器
JAVA 容器类应用JAVA 容器类应用JAVA 容器类应用JAVA 容器类应用JAVA 容器类应用JAVA 容器类应用JAVA 容器类应用
Java 容器详解 Java 容器是 Java 语言中的一种集合类库,主要包括 Collection 和 Map 两种类型。Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 Collection Collection 是一种集合接口...
Java 容器的两种基本类型:Collection 和 Map Collection 和 Map 是 Java 中的两种基本容器类型,它们都可以用来存储和管理对象,但它们有着不同的特点和用途。 Collection 是一种聚集对象的容器,每个位置只能...
Java容器讲解PPT,Collection Map(HashMap TreeMap LinkedHashMap) List (ArrayList LinkedList Vector) Set (HashSet TreeSet LinkedHashSet)
题目摘要:考虑下列的信息系统。出版社需要记录下列书籍和作者的信息: P1: 每一本书有一个title,一个description和一个ISBN number 还有 出版的日期(包括年/月) P2: 每一本书有1个或多个作者。...
主要是介绍java容器的相关信息,是初学者很好的学习材料
对于java容器的一些归纳整理,顺着思维导图能方便自己的理解,提高运用能力
JAVA 容器用法详解,关于JAVA容器的详细讲解
后缀为.mmap的思维导图,总结了JAVA容器的常见类
NULL 博文链接:https://newtime.iteye.com/blog/431572
java容器
JAVA容器一些基础题
Java容器学习笔记: 容器概览, 容器中的设计模式, 容器源码分析 - List, 容器源码分析 - Map, 容器源码分析 - 并发容 Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,...
JAVA容器基础知识,分析及使用方法,知识总结,数组,List,set,Map
java容器简介 Array对象 List Set 迭代器Iterator
Java容器提供了一种统一的方式来组织和管理多个对象,使得开发者能够更加方便地对这些对象进行操作和处理。 Java容器主要分为两大类:Collection 和 Map。 Collection: Collection表示一组对象,它的主要子接口...
Collection 表示一组对象,它是集中,收集的意思,就是把一些数据收集起来 Collection接口的两个子接口: Set中的数据没有顺序,不可重复。 List中的数据有顺序,可重复。
NULL 博文链接:https://howarezhao.iteye.com/blog/1323147
JAVA容器的概述,List,Map,Set