❶ java中的List的使用
List<E>([]内的内容可省略),与数组类似:
实例化:List[<数据类型>] list = new ArrayList[<数据类型>]();
获得集合内元素个数:list.size();
添加元素:
默认添加:list.add(e);
指定下标添加(添加后下标后的元素向后挪一位):list.add(index,e);
删除元素:
返回是否删除:list.remove(e);
直接删除指定下标的元素(只删除找到的第一个相符合的元素):list.remove(index);
替换元素(替换掉指定下标的元素):list.set(index,e);
取出元素:list.get(index);
清空集合:list.clear();
判断集合中是否存在某个元素(存在返回true,不存在返回false):list.contains(e);
对比两个集合中的所有元素:
两个对象一定相等:list.equals(list2);
两个对象不一定相等:list.hashCode() == list2.hashCode();
(两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象。)
获得元素下标:
元素存在则返回找到的第一个元素的下标,不存在则返回-1:list.indexOf(e);
元素存在则返回找到的最后一个元素的下标,不存在则返回-1:list.lastIndexOf(e);
判断集合是否为空(空则返回true,非空则返回false):list.isEmpty();
返回Iterator集合对象:list.iterator();
将集合转换为字符串:list.toString();
截取集合(从fromIndex开始在toIndex前结束,[fromIndex,toIndex)):list.subList(fromIndex,toIndex);
将集合转换为数组:
默认类型:list.toArray();
指定类型(objects为指定类型的数组对象,并将转换好的数组赋值给objects数组):list.toArray(objects);
以上为List常用的方法。
❷ Java中ArrayList的构造方法说明
Java中ArrayList的构造方法
public ArrayList(Collection<? extends E> c)
API的意思是“构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
参数: c 其元素将放置在此列表中的 collection ”
比如:
ArrayList<String> list = new ArrayList<String>();
list.add("hello");
String str = list.get(0);//这里不需要强制类型转换了
这个list里面保存的全数据全都是String类的对象,同时,在取出数据的时候,无需强制类型转换。
❸ java 这样结构 List<List<实体>> ,我怎么通过反射获得内层List的类型,又怎么得到实体的类型
你为什么要这样做呢?感觉没有意义啊。你的问题类似于这样。Persona=clazz.newInstance();你要把person这个声明方法用反射得到是不可能的。一般反射是用来写框架用的,平常的代码很少用到。创建对象可以用工厂模式
❹ Java List 用法
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
publicclassListDemo{
publicstaticvoidmain(String[]args){
Listlist=newArrayList();
//添加常规元素
list.add("hello");
list.add("world");
list.add("test");
System.out.println(list);
//插入一个新元素
list.add(2,"insertintoanewwordinthe2place");
System.out.println(list);
//删除
list.remove(1);
System.out.println("remove:"+list);
//获取
System.out.println("第二个list元素是:"+list.get(1));
System.out.println("bcde的索引位置是:"+list.indexOf("bcde"));
//修改
list.set(1,"listsetelement");
System.out.println("修改第二个元素:"+list);
//迭代取出集合中的所有元素
for(Iteratoriterator=list.iterator();iterator.hasNext();){
System.out.println("迭代取出集合中的所有元素:"+iterator.next());
}
//list集合特有的取出方式
for(inti=0;i<list.size();i++){
System.out.println("list集合特有的取出方式:"+list.get(i));
}
}
}
❺ java 中创建list的语法
List是接口,不能被实例化,所以不能写new List<T>()。
两边不一定一样,可以左边类是右边类的父类,或左边是右边所实现的接口。
我们通常的写法就是把List的各种实现比如ArrayList,LinkedList等声明成List,这样的好处是如果以后我们需要改动比如把这个类从ArrayList改成LinkedList我们可以直接改动后面,而不必更改声明部分。
❻ java数据结构 ,初学,要求用list类建立一个无序列表,内容可由文件输入,求过程!T^T
您好,提问者:
ArrayList是有序的,无序的是HashSet。
如果想要List无需输入也不是不可能。
我们都知道ArrayList其实底层就是一个数组,那么Arrays类中有一个asList(数组)方法可以将其转换为List,我们可以随机存入数组,判断如果有重复则不存入,最后将其转换为ArrayList即可。
❼ java中JList方法,ListModel构造List
定义、初始化、并传递给构造函数
一个例子
javax.swing.DefaultListModel lm = new javax.swing.DefaultListModel(); //定义、并新建实例
//lm.addElement(Object obj);/////////添加Item(s) ----- 初始化
JList jlist=new JList(lm); //赋予
//DefaultListModel 是接口ListMode的一种实现
❽ java中List的用法尽量详细解释,包括例子。
List 集合中的对象按照一定的顺序排放,里面的内容可以重复。
List接口实现的类:ArrayList(实现动态数组), Vector(实现动态数组) ,LinkedList(实现链表), Stack(实现堆栈)
一 list接口
1.java.util.ArrayList类实现一个可增长的动态数组,平时用的比较多的就是add()方法,其它方法
请参考API帮助文档。使用该方法向集合内添加对象,并且这些对象是按照一定的顺序排列
的,它内部原理是数组实现的,因此处理数据量较大时,不建议使用。
public class TestArrayList {
public static void main(String[] args) {
//声明List 并实例化为ArrayList
List al = new ArrayList();
//使用add()方法添加元素
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍历出集合的元素并打印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
}
3.java.util.Vector(向量)类 与ArrayList类似的也是实现一个动态的数组,该向量可以随意的增长以存放更多的对象
public class TestArrayList {
public static void main(String[] args) {
//声明List 并实例化为Vector
List al = new Vector();
//使用add()方法添加对象
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍历出集合的对象并打印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
}
3.java.util.LinkedList类实现了链表,可初始化化为空或者已存在的集合,通常使用以下方法
add();向链表末尾添加对象。
addFirst()在链表开头添加对象。
addLast()在链表末尾添加对象。
getFirst()得到链表开头的对象。
getLast()得到链表末尾的对象。
注意该类提供了随机访问列表中的元素的方法,但是底层依然必须遍历去查找随机访问的对象,因此性能依然有限.
public static void main(String[] args) {
//声明LinkedList并实例化
LinkedList al = new LinkedList();
//使用add()方法添加元素
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍历出集合的元素并打印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
System.out.println("_____");
//向链表头和尾分别添加x和z
al.addFirst("z");
al.addLast("x");
//遍历查看添加后的结果
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
4.java.util.Stack类实现了堆栈数据结构,即按照先进后出的原则存放数据。创建时只能为空。
使用push()方法进行添加对象
public static void main(String[] args) {
//声明Stack并实例化
Stack al = new Stack();
//使用push()方法添加元素
al.push("a");
al.push("b");
al.push("c");
al.push("d");
al.push("f");
//使用Iterator迭代器遍历出集合的元素并打印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
❾ JAVA中的ArrayList构造
作用域的问题,你每循环一次,都声明一个对象,然后循环执行完了就释放掉,最后,你准备干什么呢?