集合泛型
ArrayList
ArrayList是List是一个实现类
ArrayList的实现原理:数组实现,快速查找,数据修稿较慢
ArrayList的增删改查
package Demo;
import java.util.ArrayList;
import java.util.List;
public class Demo6 {
public static void main(String[] args) {
//ArrayList类实例化
List<String> list = new ArrayList<>();
//添加元素操作
list.add("Hello World");
list.add("Hell");
System.out.println(list.get(0));//[Hello World,Hell]
list.clear();
System.out.println(list);//[]
list.add("Held");
list.add("World");
list.add("DAIUHDOWEF");
list.add("Hello ");
//清空元素操作
//修改制定索引位置对象操作
list.set(2,"Hello World");
System.out.println(list);//[Held, World, Hello World]
//遍历元素操作
for (String str : list) {
System.out.print(str+" ");//Held World Hello World
}
}
}
Collections
package Demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Demo2 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
//升序
Collections.sort(list);
System.out.println(list);
//降序
Collections.sort(list,(a,b) -> b - a);
System.out.println(list);
//乱序
Collections.shuffle(list);
System.out.println(list);
//倒叙
Collections.reverse(list);
System.out.println(list);
}
}
set接口
Set是Collection的子接口,主要包含的实现类有HashSet、TreeSet、LinkedHashSet
特点:无序,没有任何前后的分别,所有的元素没有位置的概念,所有的元素都在集合中。
没有索引,集合中没有任何位置,元素也就没有位置的属性。
不能存储重复的元素,没有位置的分别,相同值的元素也就没有任何区别,所以不能重复。
无序:存储顺序和取出元素可能不一致
package Demo;
import java.util.HashSet;
import java.util.Set;
public class Demo3 {
public static void main(String[] args) {
Set<String> set = new HashSet();
set.add("Hello World");
set.add("java");
set.add("phythen");
set.add("aaa");
set.add("java");
System.out.println(set);
}
}
HushSet继承Set不存入重复元素的特性,通过equls判断元素的HushCode值,若返回值为true,则集合中有相同元素,存入失败,若返回值为false,则存入成功
TreeSet也是Set的子类,在存入元素是,既保证了元素的唯一性,又对元素进行了自动排列
Map接口
Map是双集合接口,以<key,value>的形式储存数据.其中key键中的元素不可以重复
package Demo;
import java.util.HashMap;
import java.util.Map;
public class Demo4 {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("北京","张三");
map.put("南京","李四");
map.put("上海","王五");
map.put("郑州","李丽");
System.out.println(map);
}
}