java怎么new一个list?
你把前面一个类中的list写在一个方法里 比如: public List getList(){ List list =new ArrayList(); 然后add了几个Goods对象 return list; } 然后在新的类中import前一个类,创建它的对象,然后对象. getList()就行了
jsonobject怎么解析list?
java中将list对象转换成json类型,可以使用json拼接的方式,实例如下: json:[{},{}]String json="[";for(Object obj:list){ json=json+"{"+obj+"}";}json=json+"]"return json;
r如何把一组数据转换成list格式?
1.使用原生方式,拆分数组,添加到List
List<String> resultList = new ArrayList<>(array.length);
for (String s : array) { resultList.add(s); }
2.使用Arrays.asList()
List<String> resultList= new ArrayList<>(Arrays.asList(array));
注意:调用Arrays.asList()时,其返回值类型是ArrayList,但此ArrayList是Array的内部类,调用add()时,会报错:java.lang.UnsupportedOperationException,并且结果会因为array的某个值的改变而改变,故需要再次构造一个新的ArrayList。
注意:Arrays.asList(char[])将转为List<char[]>,因为要求参数为T变长数组,char不是T,同理int[]数组也不行,你必须要用Integer[]
3.使用Collections.addAll()
List<String> resultList = new ArrayList<>(array.length);
Collections.addAll(resultList,array);
4.使用List.of()
此方法为 Java9新增方法,定义在List接口内,并且为静态方法,故可以由类名直接调用。
Java集合类库的顶层里的Collection,List,Set是抽象类的话是否更“正确”一些?
不正确,java是单继承的,如果顶层是抽象类,对于后面的代码扩展很不利的。而java的接口是多实现的,java官方对于Collection和set、List设计的也都是接口来设计,符合了java的接口多少实现的特性。如果都是设计成抽象类,后面我们在实际开发中,自己的类就没法实现了。具体它们的结构如下:
Collection 接口的接口 对象的集合(单列集合)
├——-List 接口:元素按进入先后有序保存,可重复
│—————-├ LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
│—————-├ ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
│—————-└ Vector 接口实现类 数组, 同步, 线程安全
│ ———————-└ Stack 是Vector类的实现类
└——-Set 接口: 仅接收一次,不可重复,并做内部排序
├—————-└HashSet 使用hash表(数组)存储元素
│————————└ LinkedHashSet 链表维护元素的插入次序
└ —————-TreeSet 底层实现为二叉树,元素排好序