Java笔记(3)
【摘要】 数据结构集合(Collection)list系列集合:添加的元素是有序(录入)、可重复、有索引 ArrayList<String> list = new ArrayList<>();set系列集合: 添加的元素是无序,不重复,无索引的.add() .contains(“STRING”) .size()列表迭代器遍历 ListIterator<String> iterator = list....
数据结构
集合(Collection)
list系列集合:
添加的元素是有序(录入)、可重复、有索引
ArrayList<String> list = new ArrayList<>();
set系列集合:
添加的元素是无序,不重复,无索引的
.add() .contains(“STRING”) .size()
列表迭代器遍历
ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()){
String s = iterator.next();
if(s.equals("b")){
iterator.remove();//iterator.add("qqq");
}
System.out.println(s);
}
集合遍历
-
Iterator<E>iterator
Iterator<String> iterator = collection.iterator(); while (iterator.hasNext()){ String s = iterator.next(); System.out.println(s); }
-
增强for
for (String s : collection) { System.out.println(s); } //s是临时变量,如果修改了增强for中的变量是不会改变集合中原本的数据
-
Lambda遍历
collection.forEach(s->System.out.println(s));
Set<String>set1=new HashSet<>();
Set<String> set = list.stream().collect(Collectors.toSet());
三种通用的遍历方式: 迭代器:在遍历的过程中需要删除元素,请使用迭代器。 增强for、Lambda: 仅仅想遍历,那么使用增强for或Lambda表达式
HashMap
Map是双列集合的顶层接口,他的功能是全部双列集合继承使用的
//创建Map集合对象
Map<String,String> m = new HashMap<>();
//添加元素
//put 添加和覆盖
//如果键不存在则添加,返回null
// 如果键存在则覆盖,并把原有的数据返回
m.put("Leo","Ann");
m.put("Luck","Lucy");
String s = m.put("Anna","Lucy");
System.out.println(s);//原数据中没有anna,所以返回null
String s1 = m.put("Luck","Fuck");
System.out.println(s1);
String result = m.remove("Leo");
System.out.println(result);
//删除返回被删除的值
String s2 = m.remove("Luck");
System.out.println(s2);
//判断键是否存在
boolean valueResult = m.containsValue("Lucy");
System.out.println(valueResult);
boolean isResult = m.isEmpty();
if(isResult){
System.out.println("集合为空");
}else{
System.out.println("集合不为空");
}
System.out.println(m);
Map<String,String>map = new HashMap<>();
map.put("Leo","Ann");
map.put("Luck","Lucy");
map.put("Anna","Lucy");
Set<String> keys = map.keySet();
//增强for循环遍历
for (String key : keys) {
System.out.println(key);
String value = map.get(key);
System.out.println(key+"="+value);
}
//lambda表达式遍历
map.keySet().forEach(key->{
System.out.println(key);
String value = map.get(key);
System.out.println(key+"="+value);
});
//迭代器遍历
Iterator<String> it = map.keySet().iterator();
while(it.hasNext()){
String key = it.next();
System.out.println(key);
String value = map.get(key);
System.out.println(key+"="+value);
}
//增强for循环遍历
Set<Map.Entry<String,String>> entrySet = map.entrySet();
for (Map.Entry<String,String> entry : entrySet) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+"="+value);
}
for(Map.Entry<String,String> entry : map.entrySet()){
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+"="+value);
}
//lambda表达式遍历
map.forEach(new BiConsumer<String, String>() {
@Override
public void accept(String key, String value) {
System.out.println(key + "=" + value);
}
});
System.out.println("---------------------");
map.forEach((String key,String value)->{
System.out.println(key+"="+value);
});
LinkedHashMap
二叉树(BinaryTree)
平衡二叉树
红黑树
常用快捷键
Alt + enter 一键补全
Alt + insert 一键初始化改写
Ctrl + n 查找类名源代码
Ctrl + b 查看源代码
Ctrl + Alt + m 代码提取,封装成方法
Ctrl + Alt + ← 回到上一个源码类
Ctrl + F12 查找用法
Ctrl + Alt + l 规范代码
Alt + 7 查看代码结构
Ctrl AIT v Runtime.getRuntime();===>Runtime runtime = Runtime.getRuntime();
添加依赖(导包)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)