概述
集合:
集合是存储对象数据的容器;
特点:集合大小不固定,启动后动态变化;
注意:数组可存储基本类型和引用类型,集合只能存储引用类型,如果要存储基本数据类型要用包装类
Collection每个元素只含一个值;Map每个元素包含两个值(键值对)
Collection
List系列添加元素有序,可重复,有索引;
Set系列添加元素无序,不重复,无索引(LinkedHashSet:无序,不重复,无索引)(TreeSet按照大小默认升序)
Collection list=new ArrayList<>();
list.add(1);
list.add(99);
System.out.println(list);
list.clear();//清除元素
System.out.println(list);
//list.contains判断数据是否存在
Object[] c=list.toArray();
System.out.println(Arrays.toString(c));//转换为数组
//把集合1添加到集合2用addAll
三种遍历方式:迭代器,增强for循环,Lambda方式遍历
Iterator<Integer> c=list.iterator();
int d=c.next();
System.out.println(d);//遍历一个迭代器
// while(c.hasNext()){
// int d=c.next();
// System.out.println(d);
// }循环遍历
Collection<String> list=new ArrayList();
list.add("1");
list.add("99");
for(String d:list){
System.out.println(d);
list.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
List体系
ArrayListApi:
List lists=new ArrayList<>();
lists.add(1);
lists.add(99);
lists.add("xiao");
lists.add(1,"sc");//在某个位置添加
System.out.println(lists);
lists.remove(2);//在某个位置去除
System.out.println(lists);
System.out.println(lists.get(2));//得到某位置数据
lists.set(1,"gao");//取代
System.out.println(lists);
LinkedList<String> list=new LinkedList<>();
//压栈入栈
list.addFirst("1");
list.addFirst("2");
list.addFirst("3");
System.out.println(list);
System.out.println(list.removeFirst());
LinkedList<String> list=new LinkedList<>();
//队列
list.addLast("1");
list.addLast("2");
System.out.println(list);
System.out.println(list.removeFirst());
Set体系
public int hashCode():返回对象哈希值
HashSet:无序,不重复,无索引
TreeSet有两种方式设置自定义比较规则:
第一种:
自定义类实现Comparable接口重写里面的compareTo方法来制定比较规则
第二种:
TreeSet集合有参构造器,可以设置Comparable接口比较对应的比较器对象,来定制比较规则
Set<test> app=new TreeSet<>(new Comparator<test>() {
@Override
public int compare(test o1, test o2) {
return 0;
}
});
Collections:
集合工具类,用来操作集合的工具类
API:
Collections.addAll给集合添加一些数据
Collections.shuffle打乱集合顺序
针对List集合的排序
Collections.sort():本方式不可以直接对自定义LIst集合排序除非自定义类型实现了比较规则Comparable接口
Collection.sort():sort方法自带比较器
List<test> a=new ArrayList<>();
Collections.sort(a, new Comparator<test>() {
@Override
public int compare(test o1, test o2) {
return 0;
}
});
Map:
Map集合特点由键决定
Map集合的键无序,不重复的(后面重复的键会覆盖前面重复的键);Map集合的值可以重复
Map集合键值对都可以是null
Map<String, Integer> map = new HashMap<>();
map.put("xiao", 23);
map.put("x", 2);
System.out.println(map);
Set<String> keys=map.keySet();//找键
for(String key:keys){
int value=map.get(key);//找值
System.out.println(key+" ->"+value);
}
System.out.println(map.containsValue(23));//找值判断true,flase
Collection<Integer> d=map.values();
System.out.println(d);//获取全部值
System.out.println(map.size());
最后
以上就是笑点低星星为你收集整理的集合Collection体系,Map体系,set体系的全部内容,希望文章能够帮你解决集合Collection体系,Map体系,set体系所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复