js @Draven
集合框架
List 接口储存不唯一,有序的对象
Set 接口储存唯一,无序的对象
Map 接口储存一组键值对象,提供Key到value的映射
ArrayList: | 声明方式: ArrayList name = new ArrayList( ); |
---|
Set: | 声明方式: Set set = new HashSet(); |
.add() | 向集合添加新元素 |
---|
.addFirst() | 在集合第一位添加元素 |
.addLast() | 在集合最后一位添加元素 |
.contains() | 检测集合中是否包含括号内的元素 返回值为boolean |
| |
.remove() | 括号填下标 删除括号下标的元素 |
.removeFirst() | 删除首位元素 |
.removerLast() | 删除末尾元素 |
| 在Map集合中 括号内填键名进行删除 |
.get() | 获取元素 |
.getFirst() | 获取首位元素 |
.getLast() | 获取末尾元素 |
| |
.set(下标,内容) | 替换掉刻下标的内容 |
.clear() | 清空集合中的数据元素 |
.size() | 返回、查询 集合中的元素个数 |
.isEmpty() | 判断是否是一个空集合 返回值为boolean |
Collections.sort© | 对集合字符或数字进行排序 |
遍历输出集合
for (int i = 0; i < list.size(); i++) {
String name = (String) list.get(i);
System.out.println(i+"\t"+name);
}
增强版遍历输出
for (Object obj:list){
NewTitle n = (NewTitle) obj;
System.out.println(n.getTitlename());
}
Map
.put(“键”,对象) | 添加数据 |
---|
.keySet() | 输出键集合 |
.containsKey(对象/变量或键) | 判断括号内的数据是否存在 |
String key1 = "键";
if(集合名.containsKey(key1)){
sout(key1+"的信息:"+集合名.get(key1))
}
通过键进行删除操作
集合名.remove("键")
Iterator -->迭代器
Map两种遍历使用
增强for循环 迭代器的使用
增强for循环
Map<String,String> maps = new HashMap<String, String>();
maps.put("1","张三");
maps.put("2","李四");
maps.put("3","王五");
maps.put("4","麻子");
Set keys =maps.keySet();
for (Object obj:keys){
String strkey = obj.toString();
String value = maps.get(strkey);
System.out.println(strkey+"\t"+value);
}
迭代器循环
Map<String,String> maps = new HashMap<String, String>();
maps.put("1","张三");
maps.put("2","李四");
maps.put("3","王五");
maps.put("4","麻子");
Set keys =maps.keySet();
Iterator iterator = keys.iterator();
while (iterator.hasNext()){
String key = (String) iterator.next();
String value = maps.get(key);
System.out.println(key+"\t"+value);
}
泛型集合
特点: | 泛型集合 可以定义添加数据的类型 方便之处在于不需要强转 就可以直接获取数据 |
---|
语法: | |
List<Student> list = new ArrayList<>();
Student s = new Student("张三","男");
list.add(s);
System.out.println(list.get(0).getName());