List的基础知识
来源:互联网 发布:qq部落签到软件 编辑:程序博客网 时间:2024/04/29 15:38
概要:
List中可以添加任何对象,包括自己定义的新的类。
Map 的常用实现类有:ArrayList 和 LinkedList。
下面是Java list的用法排序及遍历
| |目录
- 1Java List用法 - ArrayList
- 2Java List用法 - LinkedList
- 3Java List 排序 - 数字排序
- 4Java List 排序 - 中文排序
- 5Java List 排序 - 实体类排序
- 6Java List 遍历
- 7Java List 遍历时移除元素
1Java List用法 - ArrayList
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public
static
void
main(String[] args) {
// ArrayList类实现一个可增长的动态数组
List<String> list =
new
ArrayList<String>();
// 插入元素
list.add(
"list1"
);
list.add(
"list2"
);
// 打印list的大小
System.out.println(list.size());
// 按索引移除元素
list.remove(
0
);
// 按对象移除元素
list.remove(
"list2"
);
// 打印list的大小
System.out.println(list.size());
// 清空list
list.clear();
}
2Java List用法 - LinkedList
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public
static
void
main(String[] args) {
// LinkedList类实现了链表,可初始化化为空或者已存在的集合
LinkedList<String> list =
new
LinkedList<String>();
// 插入元素
list.add(
"list2"
);
list.add(
"list3"
);
// 向链表头插入数据
list.addFirst(
"list1"
);
// 向链表尾插入数据
list.addLast(
"list4"
);
for
(String str : list) {
System.out.println(str);
}
// 获取链表头数据
System.out.println(
"链表头数据:"
+ list.getFirst());
// 获取链表尾数据
System.out.println(
"链表尾数据:"
+ list.getLast());
}
3Java List 排序 - 数字排序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public
static
void
main(String[] args) {
// 创建list
List<Integer> list =
new
ArrayList<Integer>();
// 插入元素
list.add(
2
);
list.add(
0
);
list.add(
3
);
list.add(
4
);
list.add(
1
);
Collections.sort(list);
for
(
int
i : list) {
System.out.println(i);
}
}
4Java List 排序 - 中文排序
1
2
3
4
5
6
7
8
9
10
11
12
13
public
static
void
main(String[] args) {
ArrayList<String> list =
new
ArrayList<String>();
list.add(
"一鸣惊人-Y"
);
list.add(
"人山人海-R"
);
list.add(
"海阔天空-H"
);
list.add(
"空前绝后-K"
);
list.add(
"后来居上-H"
);
Comparator<Object> cmp = Collator.getInstance(java.util.Locale.CHINA);
Collections.sort(list, cmp);
for
(String str : list) {
System.out.println(str);
}
}
5Java List 排序 - 实体类排序
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package
net.xsoftlab.baike;
import
java.util.ArrayList;
import
java.util.Collections;
import
java.util.Comparator;
import
java.util.List;
public
class
TextList {
public
static
void
main(String[] args) {
List<User> userlist =
new
ArrayList<User>();
userlist.add(
new
User(
"Y - 易小星 "
,
33
));
userlist.add(
new
User(
"W - 王大锤"
,
33
));
Comparator<User> cmp =
new
ComparatorUser();
Collections.sort(userlist, cmp);
for
(User user : userlist) {
System.out.println(user.getName());
}
}
}
class
ComparatorUser
implements
Comparator<User> {
@Override
public
int
compare(User u1, User u2) {
// 先按年龄排序
int
flag = u1.getAge().compareTo(u2.getAge());
// 年龄相等比较姓名
if
(flag ==
0
) {
return
u1.getName().compareTo(u2.getName());
}
else
{
return
flag;
}
}
}
class
User {
private
String name;
private
Integer age;
public
User() {
super
();
}
public
User(String name, Integer age) {
super
();
this
.name = name;
this
.age = age;
}
public
String getName() {
return
name;
}
public
void
setName(String name) {
this
.name = name;
}
public
Integer getAge() {
return
age;
}
public
void
setAge(Integer age) {
this
.age = age;
}
}
6Java List 遍历
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public
static
void
main(String[] args) {
List<String> list =
new
ArrayList<String>();
// 插入元素
list.add(
"list1"
);
list.add(
"list2"
);
list.add(
"list3"
);
System.out.println(
"第一种遍历方法 - >"
);
for
(String str : list) {
System.out.println(str);
}
System.out.println(
"第二种遍历方法 - >"
);
for
(
int
i =
0
; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println(
"第三种遍历方法 - >"
);
Iterator<String> iter = list.iterator();
while
(iter.hasNext()) {
System.out.println(iter.next());
}
}
7Java List 遍历时移除元素
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package
net.xsoftlab.baike;
import
java.util.ArrayList;
import
java.util.Iterator;
import
java.util.List;
public
class
RemoveItemFromList {
public
static
void
main(String[] args) {
List<String> list =
new
ArrayList<String>();
// 插入元素
list.add(
"list1"
);
list.add(
"list2"
);
list.add(
"list2"
);
list.add(
"list3"
);
// 实例化新的list防止因传递地址而达不到测试效果。
remove1(
new
ArrayList<String>(list));
remove2(
new
ArrayList<String>(list));
remove2_1(
new
ArrayList<String>(list));
remove3(
new
ArrayList<String>(list));
}
public
static
void
remove1(List<String> list) {
System.out.print(
"第一种方法 - > "
);
try
{
for
(String str : list) {
if
(str.equals(
"list2"
))
list.remove(str);
}
}
catch
(Exception e) {
System.out.println(
"移除失败!"
);
}
}
public
static
void
remove2(List<String> list) {
System.out.print(
"第二种方法 - > "
);
for
(
int
i =
0
; i < list.size(); i++) {
String str = list.get(i);
if
(str.equals(
"list2"
))
list.remove(str);
}
System.out.println(list);
System.out.println(
"也有异常,可以用下面的方法避免。"
);
}
public
static
void
remove2_1(List<String> list) {
System.out.print(
"第二种方法修正 - > "
);
for
(
int
i =
0
; i < list.size(); i++) {
String str = list.get(i);
if
(str.equals(
"list2"
)) {
list.remove(str);
// 因移除了元素,位置发生偏移,需要重新对当前位置的元素进行判断。
i--;
}
}
System.out.println(list);
}
public
static
void
remove3(List<String> list) {
System.out.print(
"第三种方法 - > "
);
Iterator<String> iter = list.iterator();
while
(iter.hasNext()) {
String str = iter.next();
if
(str.equals(
"list2"
))
iter.remove();
}
System.out.println(list);
}
}
0 0
- List的基础知识
- List与Set的基础知识
- JAVA List集合的基础知识
- list基础知识
- C#基础知识之List的使用
- Python list 基础知识篇
- List,Map,Set基础知识
- Python 基础知识之 list
- Java集合基础知识-List
- java基础知识回顾---List,set,Map 的用法和区别
- python中list、tuple和set的基础知识(一)
- Drawable基础知识总结----drawable标签layer-list的使用
- Android List排序问题--基础知识
- python 基础知识 dict list tuple
- JAVA基础知识之List集合
- java基础知识之四--list、set、map的循环方式(1)
- Java 核心技术 卷1 基础知识 List 13.1
- 20151024_002_C#基础知识(ArrayList,Hashtable,List,Dictionary)
- POJ 2441
- 不要一个人吃饭
- Prestashop安装-目录权限问题
- Qt实现推箱子小游戏
- oracle 查询行号 导致一个整形不可空字段查出来全为0
- List的基础知识
- HTTP协议 (五) 代理
- scala学习笔记
- MySql中时间类型总结
- 欢迎使用CSDN-markdown编辑器
- Android异步消息处理机制(1)Handler基本使用
- 如何使用DroidDraw和AnDroidDraw开发Android UI界面
- GUI编程:打开文件对话框、保存文件对话框、颜色选择对话框的使用
- HTTP协议 (七) Cookie