List4种遍历方式
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(100);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer integer = iterator.next();
System.out.println(integer);
}
for (Integer i : list) {
System.out.println(i);
}
list.forEach(System.out::println);
}
List、Set、Map遍历
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
Collections.addAll(list, "java1", "java2", "java3");
for (String s : list) {
System.out.println(s);
}
Set<String> set = new HashSet<>();
Collections.addAll(set, "java1", "java2", "java3");
set.forEach(s -> System.out.println(s));
Map<String, Integer> map = new HashMap<>();
map.put("西湖", 100);
map.put("湘湖", 10);
map.put("黑马", 1000);
map.forEach((k, v) -> System.out.println("k=" + k + "v=" + v));
}
}
队列
public static void main(String[] args) {
LinkedList<String> queue = new LinkedList<>();
queue.addLast("一号选手");
queue.addLast("二号选手");
queue.addLast("三号选手");
queue.addLast("四号选手");
System.out.println(queue);
System.out.println(queue.removeFirst());
System.out.println(queue.removeFirst());
System.out.println(queue.removeFirst());
System.out.println(queue);
}
栈
LinkedList<String> stack = new LinkedList<>();
stack.push("第1颗子弹");
stack.push("第2颗子弹");
stack.push("第3颗子弹");
stack.push("第4颗子弹");
System.out.println(stack);
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack);
Set特点
public static void main(String[] args) {
Set<String> set = new LinkedHashSet<>();
set.add("张三");
set.add("李四");
set.add("王五");
set.add("王五");
set.add("赵六");
set.add("杨宁");
System.out.println(set);
TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(12);
treeSet.add(11);
treeSet.add(100);
treeSet.add(100);
treeSet.add(50);
treeSet.add(99);
System.out.println(treeSet);
}
hashCode
public static void main(String[] args) {
Student s1 = new Student("张三", 18);
Student s2 = new Student("张三", 18);
System.out.println(s1.hashCode());
System.out.println(s1.hashCode());
System.out.println(s2.hashCode());
System.out.println("------------------------------");
String str1 = new String("abc");
String str2 = new String("acD");
System.out.println(str1.hashCode());
System.out.println(str2.hashCode());
}
TreeSet
public static void main(String[] args) {
// TreeSet:排序、不重复、无索引
Set<Student> treeSet = new TreeSet<>()
Student s1 = new Student("张三", 19)
Student s2 = new Student("张三", 100)
Student s3 = new Student("张三", 7)
// TreeSet:添加对象元素时,对象需要实现Comparable接口
treeSet.add(s1)
treeSet.add(s2)
treeSet.add(s3)
System.out.println(treeSet)
System.out.println("---------------------")
Set<String> treeSet2 = new TreeSet<>()
treeSet2.add("java1")
treeSet2.add("java3")
treeSet2.add("java6")
treeSet2.add("java4")
System.out.println(treeSet2)
Set<Integer> treeSet3= new TreeSet<>()
treeSet3.add(1)
treeSet3.add(2)
treeSet3.add(6)
treeSet3.add(3)
System.out.println(treeSet3)
}
遍历集合删除元素
// 迭代器遍历删除:正确方式
Iterator<String> it = list.iterator()
while (it.hasNext()) {
String name = it.next()
if (name.contains("李")) {
// 使用迭代器的remove()方法
it.remove()
}
}
System.out.println(list)
// 普通遍历删除,解决方式:remove方法后面 i--
for (int i = 0
String name = list.get(i)
if (name.contains("李")) {
list.remove(name)
i--
}
}
System.out.println(list)
// 普通遍历删除,从后往前遍历
for (int i = list.size() - 1
String name = list.get(i)
if (name.contains("李")) {
list.remove(name)
}
}
System.out.println(list)
可变参数
public class ParamTest {
public static void main(String[] args) {
System.out.println(sum(1, 2));
System.out.println(sum(1, 2, 3));
System.out.println(sum(1, 2, 3, 4, 5, 6, 7, 111111));
}
public static int sum(int a, int... b) {
for (int i : b) {
a += i;
}
return a;
}
}
Map使用
public class MapTest2 {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
// 1.添加元素: 无序,不重复,无索引。 put
map.put("啤酒", 20);
map.put("饮料", 8);
map.put("矿泉水", 5);
map.put("花生", 18);
map.put("瓜子", 30);
map.put("八宝粥", 1);
// 2.public int size():获取集合的大小
System.out.println(map.size());
// 3、public void clear():清空集合
// map.clear();
// System.out.println(map.size());
// 4.public boolean isEmpty(): 判断集合是否为空,为空返回true ,反之!
System.out.println(map.isEmpty());
// 5.public V get(Object key):根据键获取对应值
System.out.println(map.get("啤酒")); // 20 (对应的value)
System.out.println(map.get("abc")); // null
// 6. public V remove(Object key):根据键删除整个元素(删除键会返回键的值)
map.remove("八宝粥");
System.out.println(map);
// 7.public boolean containsKey(Object key): 判断是否包含某个键 ,包含返回true ,反之
System.out.println(map.containsKey("瓜子"));
// 8.public boolean containsValue(Object value): 判断是否包含某个值。
System.out.println(map.containsValue(20));
// 9.public Set<K> keySet(): 获取Map集合的全部键。
Set<String> set = map.keySet();
System.out.println(set);
// 10.public Collection<V> values(); 获取Map集合的全部值。
Collection<Integer> values = map.values();
System.out.println(values);
// 11.void putAll(Map m) 把其他Map集合的数据倒入到自己集合中来。(拓展)
HashMap<String, Integer> map1 = new HashMap<>();
map1.put("java",20);
HashMap<String, Integer> map2 = new HashMap<>();
map2.put("php",30);
map2.put("c++",40);
map1.putAll(map2);
System.out.println(map1);
}
}
Map遍历
public class MapTest3 {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("啤酒", 20);
map.put("饮料", 8);
map.put("矿泉水", 5);
map.put("花生", 18);
map.put("瓜子", 30);
map.put("八宝粥", 1);
map.forEach(new BiConsumer<String, Integer>() {
@Override
public void accept(String s, Integer integer) {
System.out.println("key=" + s + " value=" + integer);
}
});
map.forEach((key, value) -> System.out.println("key=" + key + " value=" + value));
}
}
集合嵌套
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
Collections.addAll(list1, "南京市", "扬州市", "苏州市", "无锡市", "常州市");
List<String> list2 = new ArrayList<>();
Collections.addAll(list2, "武汉市", "孝感市", "十堰市", "宜昌市", "鄂州市");
List<String> list3 = new ArrayList<>();
Collections.addAll(list3, "石家庄市", "唐山市", "邢台市", "保定市", "张家口市");
Map<String, List<String>> map = new HashMap<>();
map.put("江苏省", list1);
map.put("湖北省", list2);
map.put("河北省", list3);
List<String> list = map.get("河北省");
System.out.println(list);
}