Api-集合框架
2022/6/10 23:21:33
本文主要是介绍Api-集合框架,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Collection 集合的顶级接口:
Collection接口的实现子类可以存放多个元素,每个元素可以是Object
有些Collection接口的实现类,可以存放重复的元素,有些不可以
有些Collection接口的实现类,是有序的(List),有些不是有序的(Set)
Collection接口没有直接的实现子类,是通过它的子接口Set 和 List来实现的
集合框架 List接口,必须指定一个泛型
- ArrayList 基于数组的集合
- Vector 基于数组的集合,更安全
- LinkedList 基于链表的集合
1 public static <E> void main(String[] args) { 2 // 搞一个放名字的集合 3 List<String> as = new ArrayList<String>(); 4 // 往里面放东西 5 as.add("小黑"); 6 as.add("小明"); 7 // 拿东西 8 System.out.println(as.get(0)); 9 System.out.println(as.get(1)); 10 // 删东西(delete,remove) 11 as.remove("小黑"); 12 // 拿东西 13 System.out.println(as.get(0)); 14 // 放东西 15 ArrayList<String> bs = new ArrayList<String>(); 16 bs.add("啊啊"); 17 bs.add("bb"); 18 bs.add("cc"); 19 as.addAll(bs); 20 // 不知道里面有什么东西 21 for (int i = 0; i < as.size(); i++) { 22 System.out.println(as.get(i)); 23 // as.get(i) == as[i] 24 } 25 for (String s : as) { 26 System.out.println(s); 27 } 28 // 查看长度(length,size) 29 System.out.println(as.size()); 30 31 // 数组的空间必须是连续的 32 // 随机查找:根据下标取值 33 // ArrayList其实就是一个数组 34 // 扩容的原理:新建一个更大的数组,把原来的数组的内容复制过去 35 ArrayList<String> fs = new ArrayList<String>(2); 36 fs.add("a"); 37 fs.add("a"); 38 fs.add("a"); 39 40 // 链表和数组的区别: 41 // 数组查询效率搞 42 // 链表是扩容,删除效率搞 43 44 // 链表:一些不连续的空间,彼此有联系 45 /** 46 LinkedList<String> ls=new LinkedList<String>(); 47 ls.get(2); 48 ls.getFirst(); 49 ls.getLast(); 50 **/ 51 } 52 }
Set接口: 去重,顺序不一致无下标
- HashSet
- HashTable 安全
- TreeSet 排序功能的set
1 public static void main(String[] args) { 2 //Set集合: 去重 3 Set<String> set=new HashSet<String>(); 4 set.add("小黑"); 5 set.add("小百"); 6 set.add("小黑"); 7 for (String s : set) { 8 System.out.println(s); 9 } 10 System.out.println(set.size()); 11 12 //新建一个存放数字的ArrayList 13 List<Integer> is=new ArrayList<Integer>(); 14 is.add(12); 15 16 set.clear(); 17 System.out.println(set.size()); 18 19 /** 20 Set<Dog> ds = new HashSet<Dog>(); 21 // 只要名字相同 认为它们是同一只狗 22 // hashset内容用的是hashcode+equals做相等判断 23 ds.add(new Dog("xiaobai","a")); 24 ds.add(new Dog("xiaobai","b")); 25 System.out.println(ds.size()); 26 //给出一只狗 判断这只狗是否在集合中存在 27 Dog d = new Dog("xiaobai","c"); 28 System.out.println(ds.contains(d)); 29 **/ 30 31 /** 32 List ls=new ArrayList(); 33 ls.add(1); 34 ls.add(2); 35 ls.add(3); 36 ls.add(4); 37 ls.add("a"); 38 ls.add("b"); 39 ls.add("c"); 40 ls.add("d"); 41 ls.add(new Dog("aa", "bb")); 42 System.out.println(ls.contains(new Dog("aa", "bb"))); 43 **/ 44 45 //去重:有则不加,无则加 46 List<Dog> ls=new ArrayList<Dog>(); 47 for (int i = 0; i < 3; i++) { 48 System.out.println("请输入狗的名字"); 49 Scanner mys = new Scanner(System.in); 50 Dog d=new Dog(mys.next(), "bb"); 51 if(!ls.contains(d)) { 52 ls.add(d); 53 } 54 } 55 System.out.println(ls.size()); 56 } 57 58 }
Map接口(S2)
这篇关于Api-集合框架的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25JAVA副业资料:新手入门及初级提升指南
- 2024-11-25Java副业资料:入门到实践的全面指南
- 2024-11-25Springboot应用的多环境打包项目实战
- 2024-11-25SpringBoot应用的生产发布项目实战入门教程
- 2024-11-25Viite多环境配置项目实战:新手入门教程
- 2024-11-25Vite多环境配置项目实战入门教程