JAVA——面向对象——集合

Posted 叶不修233

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA——面向对象——集合相关的知识,希望对你有一定的参考价值。

JAVA——面向对象——集合

一、Collection接口

1、List接口

(1)ArrayList集合

1.概念
ArrayList是有序(数据的插入顺序)不唯一数据的集合
ArrayList有下标,下标从0开始
ArrayList集合可以直接输出,输出就是字符串表现形式
ArrayList集合任何类型的数据从集合中查出来都是Object类型
2.语法
创建对象
ArrayList 对象名 = new ArrayList();

直接增加
arrayList.add(1);
插入元素到某个下标
(下标之后的元素下移,非替换插入)
arrayList.add(1,“world”);

arrayList.remove(1);

arrayList.set(1,2);

查询某个下标对应的元素
arrayList.get(1);
获取集合长度
arrayList.size();
直接输出集合对象
System.out.println(arrayList);
判断集合中是否包含某个元素
arrayList.contains(1);
把集合转换成数组
arrayList.toArray();
清除集合中的所有元素
arrayList.clear();
集合元素的遍历
和数组一样

(2)LinkedList集合

2、Set接口

(1)HashSet集合

1.概念
特点:存储的数据无序且唯一,HashSet集合没有下标
2.语法
创建HsahSet集合对象
HashSet hashSet = new HashSet();
增–set集合会自动去重
hashSet.add(1);
删-因为没有下标,根据元素删除
hashSet.remove(2);
判断是否包含某个元素
hashSet.contains(3);
清空集合元素
hashSet.clear();
获取集合的长度
hashSet.size();
输出集合-可以直接输出
集合的遍历
(增强for循环)
for(Integer n:hashSet)
System.out.println(n);

HashSet和ArrayList之间的转换
(使用转换目标数据类型的构造方法)
HashSet转ArrayList
ArrayList al = new ArrayList(hashSet);
ArrayList转HashSetbn
HashSet hs = new HashSet(al);

二、Map接口

1、HashMap集合

1.概念
特点:是键值对结构,数据成对出现,无序排列,通常通过键来操作值
2.语法
创建HashMap对象-需要分别指定键和值的类型
HashMap<String, Integer> hashMap = new HashMap<String, Integer>();

hashMap.put(“卡1余额”, 0);
hashMap.put(“卡2余额”, 10);
hashMap.put(“卡3余额”, 20);
删-通过键删除一对数据
hashMap.remove(“卡2余额”);

hashMap.put(“卡3余额”, 100);
查键对应的值
hashMap.get(“卡3余额”);
获取长度
hashMap.size();
输出map集合-可以直接输出
判断map集合是否包含指定的键
hashMap.containsKey(“卡1余额”);
判断map集合是否包含指定的值
hashMap.containsValue(100);
获取map集合所有的键-返回值为Set类型
Set setKey = hashMap.keySet();
获取map集合所有的值-返回值为Collection类型
Collection collectionValue = hashMap.values();
HashMap的遍历
//1.获取所有键key
Set key = hashMap.keySet();
//2.遍历键k
for(String k:key)
//3.通过键获取值v
int v = hashMap.get(k);
System.out.println(k+“=”+v);

三、比较器

1、Comparator

1.概念
比较器用于对集合中复杂的元素(如对象)按照对象的属性排序
2.语法
排序

//1.创建比较器Comparator的匿名内部类的对象
Comparator<Student> c = new Comparator<Student>() 
	//2.重写比较器里的compare方法,需要能够返回正数、负数和0
	@Override
	public int compare(Student o1, Student o2) 
		return o1.getAge() - o2.getAge();
	
;
//3.使用Collections进行排序
Collections.sort(list,c);

四、集合的工具类

1、Collections

使用集合的工具类对集合进行升序排序*
(只有list集合能排序)
Collections.sort(list);
反转*
Collections.reverse(list);
求最大值
Collections.max(list);
求最小值
Collections.min(list);

以上是关于JAVA——面向对象——集合的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象练习题之银行存取款

java中,如何实现集合的升序和降序排列

JAVA——面向对象——集合

java面向对象练习---银行业务模拟(数组+面向对象)

java面向对象中的集合

使用Java实现面向对象编程——第六章 框架集合