容器
容器:能装对象的对象。
- List 线性结构,可变长度。
- Set集合,非线性,去除重复
- Map 映射,存储时是以Key:Value的形式存储数据的。
这三个容器都是接口
Java中所有集合的根:collection接口
List
ArrayList
package org.container.List;
import java.util.ArrayList;
import java.util.List;
public class demo01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("simple");
list.add("complex");
list.add("jnsec");
System.out.println(list);
}
}
列表是可以存放重复的数据,列表是按照我们存储的顺利存储的。这是线性存储的。
LinkedList
package org.container.List;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class demo01 {
public static void main(String[] args) {
List list = new LinkedList();
list.add("simple");
list.add("complex");
list.add("jnsec");
System.out.println(list);
}
}
LinkedList 是一个链表形式存储的。
这两个List在使用上是没有什么区别的。
List 的常用操作
增
删
查
长度
判断容器中是否存在
package org.container.List;
import java.util.ArrayList;
public class demo02 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("simple");
list.add("complex");
list.add("simple2");
System.out.println(list.get(1));//指定下标
list.remove(0);//删除
System.out.println(list);
System.out.println(list.size());//查看长度
System.out.println(list.contains("simple"));//查看是都存在simple
}
}
遍历列表:
package org.container.List;
import java.util.LinkedList;
import java.util.List;
public class demo03 {
public static void main(String[] args) {
List list = new LinkedList();
list.add("simple");
list.add("complex");
list.add("jnsec");
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
// System.out.println(list.get(i));
String s = (String) list.get(i);
System.out.println(s);
}
}
}
Set
特点就是不能有重复的东西
HashSet
package org.container.Set;
import java.util.HashSet;
public class demo01 {
public static void main(String[] args) {
HashSet set = new HashSet();
set.add("DNF");
set.add("LoL");
set.add("CS");
set.add("apple");
System.out.println(set);
}
}
无序的,不重复的。
[CS, apple, LoL, DNF]
TreeSet
默认进行排序,不重复。
package org.container.Set;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
public class demo01 {
public static void main(String[] args) {
Set set = new TreeSet();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
System.out.println(set);
}
}
Set的操作
add()添加元素
remove()删除元素
size()元素个数
contains()是否包含
Map
Key --> Value对应的
HashMap
package org.container.Map;
import java.util.HashMap;
import java.util.Map;
public class demo01 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("jay","周杰伦");
map.put("wf","汪峰");
map.put("tz","111");
System.out.println(map);
}
}
不会排序
TreeMap
package org.container.Map;
import java.util.Map;
import java.util.TreeMap;
public class demo02 {
public static void main(String[] args) {
Map map = new TreeMap();
map.put(1,"simple");
map.put(2,"complex");
map.put(3,"1245");
map.put(56,"sssss");
map.put(33,"ssssssss");
System.out.println(map);
}
}
会按照key来排序
map的操作
- put(key,value)存储数据
- remove(key)删除
- size()数量
- contains(key)是否存在
- 如果出现了相同的key,原来的数据会被覆盖掉。
- keySet()把map中所有的key打包成Set集合返回。
- get(key)通过key来查询value。
文章评论