Java集合和数组的区别
集合和容器都是Java中的容器。
区别
数组特点:大小固定,只能存储相同数据类型的数据
集合特点:大小可动态扩展,可以存储各种类型的数据
转换
数组转换为集合:
Arrays.asList(数组)
示例:
int[] arr = {1,3,4,6,6};
Arrays.asList(arr);
for(int i=0;i
System.out.println(arr[i]);
}
集合转换为数组:
集合.toArray();
示例:
List list = new ArrayList();
list.add("a");
list.add("b");
list.toArray();
System.out.println(list.toString());
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
时间: 2017-02-07
我们在使用数组,泛型集合的过程中不可避免的会碰到多态,或者说什么情况下能如何使用父数组引用子数组(集合.泛型)呢? 数组在多态中的使用 元素为父类型的数组引用可指向元素为子类型的数组对象 当数组被调用时由当前引用确定数组元素的类型 当元素为父类型的数组引用指向了元素为子类型的数组对象时,不可通过父类型的数组引用向集合加入除子类型及其下层级的之外的元素(可通过编译,运行过程出错) /*验证: *animals和dogs可以引用同一个数组 *当animals引用数组时,数组元素为Animal类型 *
根据约定,在使用java编程的时候应尽可能的使用现有的类库,当然你也可以自己编写一个排序的方法,或者框架,但是有几个人能写得比JDK里的还要好呢?使用现有的类的另一个好处是代码易于阅读和维护,这篇文章主要讲的是如何使用现有的类库对数组和各种Collection容器进行排序,(文章中的一 部分例子来自) 首先要知道两个类:java.util.Arrays和java.util.Collections(注意和Collection的区 别)Co
引言: 今天群里有朋友问"怎么知道一个数组集合是否已经存在当前对象",大家都知道循环比对,包括我这位大神群友.还有没其他办法呢?且看此篇. 正文: 能找到这里的都是程序员吧,直接上代码应该更清楚些. import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.regex.Matcher; im
java 用泛型参数类型构造数组详解及实例 前言: 前一阵子打代码的时候突然想到一个问题.平时我们的数组都是作为一个参数传入方法中的,如果我们要想在方法中创建一个数组怎么样呢?在类型明确的情况下,这是没什么难度的.如果我们传入的参数是泛型类型的参数呢? public static T[] creArray (T obj){ T[] arr = new T[10]; } 像上面这种用T来直接new数组的方法是错误的,会编译时出现一个:Cannot create a generic arr
对象多了用集合存,数据多了用数组存. 数组是固定长度的,集合是可变长度的. 集合是:只要是对象就可以存,不管是不是同一种对象 而数组只能存储一种类型的对象 下面是集合的框架: 以上就是小编为大家带来的浅谈java中集合的由来,以及集合和数组的区别详解的全部内容了,希望对大家有所帮助,多多支持我们~
1.性能考虑,优先选择数组 数组在项目开发当中使用的频率是越来越少,特别是在业务为主的开发当中,首先数组没有List,Set等集合提供的诸多方法,查找增加算法都要自己编写,极其繁琐麻烦,但由于List,Set等集合使用泛型支持后,存放的都为包装类,而数组是可以使用基本数据类型,而使用基本数据类型的执行运算速度要比包装类型快得多,而且集合类的底层也是通过数组进行实现. 2.若有必要,使用变长数组 在学习集合类当中,很多人喜欢将数组的定长拿来和集合类型的自变长来做比较,但其实这种比较并不合适,通过观
本文实例讲述了java实现列表.集合与数组之间转化的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; public class Test2 { public static void
Java基本类型与byte数组之间相互转换,刚刚写的 package cn.teaey.utils; import java.nio.charset.Charset; public class ByteUtil { public static byte[] getBytes(short data) { byte[] bytes = new byte[2]; bytes[0] = (byte) (data & 0xff); bytes[1] = (byte) ((data & 0xff00)
本文实例讲述了C#中List和数组之间转换的方法.分享给大家供大家参考.具体分析如下: 一.List转数组 (从List转到string[]) List listS=new List(); listS.Add("str"); listS.Add("hello"); string[] str=listS.ToArray(); 二.数组转List (从string[]转到List<
实例如下所示: public class JsonExtracter { public static void main(String[] args) { String s = "{\"name\":\"a\",\"family\":[\"张三\",\"李四\"]}"; JSONObject jsonObject = JSON.parseObject(s); //注意:family中的内
java对象转成byte数组,在使用netty进行通信协议传输的场景中是非常常见的.比如,协议有一些定好的协议头.classid,messageid等等信息,还有一个关键的内容是payload.不同的协议内容都会放到payload中,而这个payload往往就是一个byte数组. 那么,如何方便的将一个java对象构造成一个byte数组呢? 1 bytebuf填充 我们以下面这个对象举例: public class UgvData implements Serializible{ private
前言 Java与其他语言编写的程序进行tcp/ip socket通讯时,通讯内容一般都转换成byte数组型,java在字符与数组转换也是非常方便的.下面跟我一起来了解一下字符串与byte之间转换的原理 原理 我们都知道,在Java里byte类型是占用1个字节,即8位的,而16进制的字符占用4位,所以每个byte可以用两个字符来表示,反之亦然. 举个例子 byte = 123 用二进制表示:0111 1011 每4位用字符表示: 7 b 是的,原理就这么简单,接下来用代码实现: byte[] 转1
做研发的朋友都知道,在项目开发中经常会碰到list与数组类型之间的相互转换,本文通过一个简单的例子给大家讲解具有转换过程. Java代码 package test.test1; import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public static void main(String[] args) { List list=new ArrayList(); l
JAVA的list,set,数组之间的转换,主要是使用Apache Jakarta Commons Collections,具体的方法如下:import org.apache.commons.collections.CollectionUtils; String[] strArray = {"aaa", "bbb", "ccc"}; List strList = new ArrayList(); Set strSet = new Ha