1、List
List接口下面的两个实现类
ArrayList
LinkedList
package practice;
import java.util.ArrayList;
import java.util.List;
public class TestList {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("grape");
list.add("apple");
System.out.println(list); //[apple, banana, orange, grape, apple]
}
}
列表可以存放重复的数据,按照我们存储的顺序进行存储(ArrayList和LinkedList同理)
ArrayList内存模式图

LinkedList内存模式图

ArrayList查找效率比较高
LinkedList删除、新增效率高
List常用的操作
1、add() 添加元素
2、remove()删除元素
package container;
import java.util.ArrayList;
import java.util.List;
public class TestList {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("grape");
list.add("apple");
System.out.println(list); //[apple, banana, orange, grape, apple]
list.remove("banana");
System.out.println(list); //[apple, orange, grape, apple]
}
3、size() 列表中装了多少个元素
package container;
import java.util.ArrayList;
import java.util.List;
public class TestList {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("grape");
list.add("apple");
System.out.println(list); //[apple, banana, orange, grape, apple]
System.out.println(list.size()); //5
}
}
4、get(i)从列表中获取到某个元素
列表的下标也是从0开始
package container;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class TestList {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("grape");
list.add("apple");
System.out.println(list); //[apple, banana, orange, grape, apple]
String string = (String) list.get(0);
System.out.println(string);//apple
}
}
5、contains 判断容器中是否有xxx东西
package container;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class TestList {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("grape");
list.add("apple");
System.out.println(list); //[apple, banana, orange, grape, apple]
System.out.println(list.contains("grape")); //true
System.out.println(list.contains("pineapplepineapple")); //false
}
}
遍历列表
for(int i = 0; i < list.size();i++){
System.out.println(list.get(i));
}
for(Object obj : list){
System.out.println(obj);
}
2、Set集合
两个实现类
HashSet
无序,不重复
package container;
import java.util.HashSet;
import java.util.Set;
public class SetTest {
public static void main(String[] args) {
Set set = new HashSet();
set.add("blue");
set.add("red");
set.add("yellow");
set.add("red"); //重复的数据加不进去
System.out.println(set);//[red, blue, yellow]
}
}
TreeSet
默认进行排序,不重复
package container;
import java.util.Set;
import java.util.TreeSet;
public class SetTest {
public static void main(String[] args) {
Set set = new TreeSet();
set.add(14);
set.add(2);
set.add(2);//重复的数据加不进去
set.add(666);
set.add(1);
System.out.println(set);//[1, 2, 14, 666]
}
}
Set的操作
add()添加元素
remove() 删除元素
size()元素中的个数
contains() 是否包含某个元素
3、Map容器(不是从collection中继承下来的)
key -> value
两个常用的实现类
HashMap
package container;
import java.util.Map;
import java.util.HashMap;
public class TestMap {
public static void main(String[] args) {
Map map = new HashMap();
map.put("red","红色");
map.put("blue","蓝色");
map.put("yellow","黄色");
System.out.println(map);//{red=红色, blue=蓝色, yellow=黄色}
}
}
TreeMap:根据key排序
import java.util.Map;
import java.util.TreeMap;
public class TestMap {
public static void main(String[] args) {
Map map = new TreeMap();
map.put(1,"红色");
map.put(3,"蓝色");
map.put(2,"黄色");
System.out.println(map);//{1=红色, 2=黄色, 3=蓝色}
}
}
756

被折叠的 条评论
为什么被折叠?



