- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Java List 用法详解及实例分析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
Java List 用法详解及实例分析 。
Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解.
List:特有的方法,凡是可以操作角标的方法都是该体系特有的方法 。
1
2
|
boolean
add(
int
index, E element)
boolean
addAll(index,Collection)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public
static
void
List_add(){
ArrayList a1 =
new
ArrayList();
a1.add(
"java"
);
a1.add(
"php"
);
//List集合中的元素可以重复
a1.add(
".net"
);
System.out.println(
"原集合:"
+a1);
a1.add(
1
,
"Flash"
);
a1.add(
0
,
"ps"
);
System.out.println(a1);
ArrayList a2 =
new
ArrayList();
a2.add(
"javascript"
);
a2.add(
"3dMax"
);
a2.add(
"IBM"
);
a1.addAll(
0
, a2);
System.out.println(a1);
}
|
删除指定位置的元素 。
1
|
boolean
remove(
int
index)
|
1
2
3
4
5
6
7
8
9
10
|
public
static
void
List_remove(){
ArrayList a1 =
new
ArrayList();
a1.add(
"javascript"
);
a1.add(
"php"
);
a1.add(
"flash"
);
System.out.println(
"原集合:"
+a1);
a1.remove(
0
);
System.out.println(a1);
}
|
修改指定角标的元素 set(int index, E element) 返回的是修改的那个元素 。
1
2
3
4
5
6
7
8
9
10
|
public
static
void
List_set() {
ArrayList a1 =
new
ArrayList();
a1.add(
"javascript"
);
a1.add(
"php"
);
a1.add(
".net"
);
System.out.println(
"原集合:"
+a1);
a1.set(
1
,
"falsh"
);
System.out.println(a1);
}
|
查 。
1
2
|
get(int index) 返回列表中指定位置的元素
subList(int fromIndex, int toIndex) 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分元素。
|
1
2
3
4
5
6
7
8
9
10
|
public
static
void
List_get() {
ArrayList a1 =
new
ArrayList();
a1.add(
"java"
);
a1.add(
"php"
);
a1.add(
"flash"
);
System.out.println(a1.get(
0
));
//获取指定角标的元素,有了该方法就可以遍历该集合中的所有元素
System.out.println(a1.subList(
1
,
3
));
//获取集合中某一部分的元素,包含头不包含尾
}
|
List集合特有的迭代器:ListIterator(是Iterator的子接口) 。
注意:
在迭代时,是不可以通过集合对象的方法操作集合中的元素因为会发生ConcurrentModificationException异常(并发异常)所以,在迭代器时,只能用迭代器的方法造作元素因为Iterator方法是有限的所以只能对元素进行判断,取出,删除的操作如果想要其他的操作如添加,修改等,就需要使用其子接口,ListIterator 该接口只能通过List集合的listIterator方法获取 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
public
class
ListIteratorDemo {
public
static
void
main(String[] args) {
ArrayList a1 =
new
ArrayList();
a1.add(
"java01"
);
a1.add(
"java02"
);
a1.add(
"java03"
);
a1.add(
"java04"
);
System.out.println(
"原集合是:"
+a1);
/*在迭代过程中准备添加或者删除元素
Iterator it = al.iterator();
while (it.hasNext()){
Object obj = it.next();
if (obj.equals("java02"))
//al.add("java008");//会出现并发异常,因为迭代器正在操作集合,不能再用集合的方法操作集合了
it.remove();//将java02的引用从集合中删除了
System.out.println("obj:"+obj);
}
*/
//只有List的listIterator有增,删,改,查这些功能,因为只有List有索引
ListIterator li = a1.listIterator();
while
(li.hasNext()){
if
(li.next().equals(
"java02"
))
//li.add("java009");
li.set(
"java006"
);
}
}
}
|
Vector:枚举就是Vector特有的取出方式,跟迭代器很像(其实枚举和迭代是一样的) 已经被迭代器取代 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public
class
VectorDemo {
public
static
void
main(String[] args) {
Vector v =
new
Vector();
v.add(
"java01"
);
v.add(
"java02"
);
v.add(
"java03"
);
v.add(
"java04"
);
for
(Enumeration en = v.elements();en.hasMoreElements();){
System.out.println(en.nextElement());
}
}
}
|
LinkedList:
特有方法:
addFirst();在头部添加元素 。
addLast();在尾部添加元素 。
getFirst(); getLast(),
获取元素但不删除元素。如果集合中没有元素,会出现NoSuchElementException 。
removeFirst(); removeLast(),
获取元素但是删除元素。如果集合中没有元素,会出现NoSuchElementException 。
在JDK1.6出现了替代方法 。
offerFirst(); offerLast(),
peekFirst(); peekLast(); 获取元素,但是元素不被删除。如果集合中没有元素,会返回null 。
pollFirst(); pollLast(); 获取元素,但是元素被删除。如果集合中没有元素,会返回null 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public
class
LinkedListDemo {
public
static
void
main(String[] args) {
LinkedList link =
new
LinkedList();
link.add(
"java01"
);
link.add(
"java02"
);
link.add(
"java03"
);
link.add(
"java04"
);
while
(!link.isEmpty()){
System.out.println((link.removeLast()));
}
}
}
|
以上就是对java list用法的实例详解,本站关于java 的开发文章还有很多,希望大家搜索参考,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 。
原文链接:https://my.oschina.net/u/3518116/blog/1305748 。
最后此篇关于Java List 用法详解及实例分析的文章就讲到这里了,如果你想了解更多关于Java List 用法详解及实例分析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想使用 R 预定义这样的列表 DATA<-list( list(list(),list(),list()), list(list(),list(),list()), list(list(),l
如何将一个列表添加到另一个列表,返回一个列表的列表? foo :: [a] -> [a] -> [[a]] 例如,我想要的结果是: foo [1,2] [3,4] 将是 [[1,2], [3,4]]。
我还没有在这里找到类似问题的解决方案,所以我会寻求你的帮助。 有 2 个列表,其中之一是列表列表: categories = ['APPLE', 'ORANGE', 'BANANA'] test_re
这个问题不同于Converting list of lists / nested lists to list of lists without nesting (这会产生一组非常具体的响应,但无法解决
原始列表转换为 List正好。为什么原始列表的列表不能转换为 List 的列表? { // works List raw = null; List wild = raw; } {
在下面的代码中,get()被调用并将其结果分配给类型为 List> 的变量. get()返回 List>并在类型参数为 T 的实例上调用设置为 ? ,所以它应该适合。 import java.util
原始列表转换为 List正好。为什么原始列表的列表不能转换为 List 的列表? { // works List raw = null; List wild = raw; } {
在insufficiently-polymorphic 作者说: def foo[A](fst: List[A], snd: List[A]): List[A] There are fewer way
我有下面的代码有效。 class ListManipulate(val list: List, val blockCount: Int) { val result: MutableList>
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
在 scala (2.9) 中转换列表列表的最佳方法是什么? 我有一个 list : List[List[A]] 我想转换成 List[A] 如何递归地实现这一点?或者还有其他更好的办法吗? 最佳答案
我编写了这个函数来确定给定元素是否存储在元组列表的列表中,但目前它只搜索第一个列表。我将如何搜索其余列表? fun findItem (name : command, ((x,y)::firstlis
我创建了一个类名 objectA,它有 4 个变量:约会时间;字符串文本;变量 1,变量 2 我需要创建一个 ObjectA() 列表。然后首先按时间对它们进行分组,其次按 var1,然后按 var2
我有一套说法 char={'J','A'} 和列表的列表 content = [[1,'J', 2], [2, 'K', 3], [2, 'A', 3], [3,'A', 9], [5, 'J', 9
我有以下列表 List >>> titles = new ArrayList >>> ();我想访问它的元素,但我不知道该怎么做.. 该列表有 1 个元素,它又包含 3 个元素,这 3 个元素中的
转换 List[List[Long]] 的最佳方法是什么?到 List[List[Int]]在斯卡拉? 例如,给定以下类型列表 List[List[Long]] val l: List[List[Lo
我有一个来自 Filereader (String) 的 List-List,如何将其转换为 List-List (Double):我必须返回一个包含 line-Array 的第一个 Values 的
我收集了List> 。我需要将其转换为List> 。这是我尝试过的, List> dataOne = GetDataOne(); var dataTwo = dataOne.Select(x => x
这个问题在这里已经有了答案: Cannot convert from List to List> (3 个答案) 关闭 7 年前。 我没有得到这段代码以任何方式编译: List a = new Ar
这个问题在这里已经有了答案: Cannot convert from List to List> (3 个答案) 关闭 7 年前。 我没有得到这段代码以任何方式编译: List a = new Ar
我是一名优秀的程序员,十分优秀!