十种高级的代码书写方式,提高代码质量和工作效率

1.集合遍历

不使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
for (String name : list) {
    System.out.println(name);
}

使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
list.forEach(name -> System.out.println(name));

2.排序

升序

不使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
Collections.sort(list, new Comparator<String>() {
    public int compare(String s1, String s2) {
        return s1.compareTo(s2);
    }
});

使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
Collections.sort(list, (s1, s2) -> s1.compareTo(s2));

3.过滤

不使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
List<String> filteredList = new ArrayList<String>();
for (String name : list) {
    if (name.startsWith("a")) {
        filteredList.add(name);
    }
}

使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
List<String> filteredList = list.stream().filter(name -> name.startsWith("a")).collect(Collectors.toList());

4.映射

映射即按照当前list顺序,根据新的规则新建一个list然后存储对应的对象

不使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
List<Integer> lengths = new ArrayList<Integer>();
for (String name : list) {
    lengths.add(name.length());
}

使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
List<Integer> lengths = list.stream().map(name -> name.length())
.collect(Collectors.toList());

5.规约(求和)

不使用lambda:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int sum = 0;
for (int i : list) {
    sum += i;
}

使用lambda:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int sum = list.stream().reduce(0, (a, b) -> a + b);

注意: reduce(T identity, BinaryOperator<T> accumulator方法第一个参数传入的是这个求和方法的起始值,如reduce(0, (a, b) -> a + b)输出15,reduce(3, (a, b) -> a + b)输出18

6.分组

把字符串长度相同的放在同一个链表里

不使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
Map<Integer, List<String>> grouped = new HashMap<Integer, List<String>>();
for (String name : list) {
    int length = fruit.length();
    if (!grouped.containsKey(length)) {
        grouped.put(length, new ArrayList<String>());
    }
    grouped.get(length).add(name);
}

使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
Map<Integer, List<String>> grouped = list.stream().collect(Collectors.groupingBy(name -> name.length()));

7.实现函数式接口

不使用lambda:

public interface MyInterface {
    public void doSomething(String input);
}

MyInterface myObject = new MyInterface() {
    public void doSomething(String input) {
        System.out.println(input);
    }
};
myObject.doSomething("Hello World");

使用lambda:

MyInterface myObject = input -> System.out.println(input);
myObject.doSomething("Hello World");

8.进行Optional操作

Optional类是用来解决空指针异常的。

  • Optional.ofNullable(T t):t可以为null
  • Optional.map(Function<? super T,? extends U> mapper):如果有值,则对其执行调用映射函数得到返回值。如果返回值不为 null,则创建包含映射返回值的Optional作为map方法返回值,否则返回空Optional。

不使用lambda:

String str = "Hello World";
if (str != null) {
    System.out.println(str.toUpperCase());
}

使用lambda:

Optional<String> str = Optional.ofNullable("Hello World");
str.map(String::toUpperCase).ifPresent(System.out::println);

9.流水线操作

不使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
List<String> filteredList = new ArrayList<String>();
for (String name : list) {
    if (name.startsWith("a")) {
        filteredList.add(name.toUpperCase());
    }
}
Collections.sort(filteredList);

使用lambda:

List<String> list = Arrays.asList("kk", "oneone", "11");
List<String> filteredList = list.stream().filter(fruit -> fruit.startsWith("a")).map(String::toUpperCase).sorted().collect(Collectors.toList());

10.线程创建

不使用lambda:

Thread thread = new Thread(new Runnable() {
    public void run() {
        System.out.println("Thread is running.");
    }
});
thread.start();

使用lambda:

Thread thread = new Thread(() -> System.out.println("Thread is running."));
thread.start();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 百度前端代码规范pdf是百度公司出品的一份标准化的前端代码书写规范,旨在提高前端开发人员的代码质量和可维护性。该规范涵盖HTML、CSS、JavaScript等各个方面的编码规范和约定,包括命名规范、代码缩进、注释规范、选择器命名、代码风格等多个方面。规范中还提供了实用的代码示例和用法说明,方便开发人员快速上手。遵循该规范能够让代码更易于阅读和理解,提高代码的可读性,同时也有助于团队协作和代码维护。总之,百度前端代码规范pdf是一份非常实用的前端开发规范指南,对于提高代码质量和团队效率都有着积极的作用。 ### 回答2: 百度前端代码规范pdf是一份非常重要的前端开发规范文档,对于前端工程师来说是必修的。百度前端开发规范内容包括HTML、CSS、JavaScript代码规范、代码格式化、代码组织,以及前后端分离、性能优化、安全性等方面的规范;同时也包括了不正确的代码示例和详细的错误解释,方便读者理解。在实际的前端开发中,严格遵守百度前端代码规范pdf,可以避免很多常见的前端开发问题,提高代码可读性、可维护性和可扩展性,最终让代码更加优秀。 此外,百度前端代码规范pdf文档还提供了一个开放的GitHub仓库,方便开发者提交规范更新和BUG修复,并给出了详细的贡献指南。这些都能够增加前端开发者社区的参与度,提高整个前端开发行业的水平。因此,建议所有前端开发者都仔细阅读这份百度前端代码规范pdf文档,并将其融入到自己的开发工作中。 ### 回答3: 百度前端代码规范PDF是一份非常有价值的前端开发规范文档,它包含了丰富而详细的代码规范和最佳实践,可以帮助开发者写出更加规范、高效、可读性强的代码。 首先,百度前端代码规范PDF对整个前端开发的流程有着清晰的分工,从HTML、CSS、JavaScript、代码实现、性能优化、组件化等多个方面提出了相应的规范和建议,使得开发人员可以在不同的阶段上更好地进行协作。 其次,它还介绍了实用的工具和技术,包括Git、ESLint、Webpack等,这些工具和技术能够极大地提高开发效率和代码效率,使得团队的代码质量得到了很大的提升。 此外,百度前端代码规范PDF还具备可读性和实用性,它用简洁明了的语言和许多实例说明了每一条规则和最佳实践,这样开发者可以更好地理解这些规范并应用到实际的项目中。 总之,百度前端代码规范PDF是一份非常有价值的前端开发规范文档,它可以为开发者提供很多有用的建议并且帮助他们在团队协作中流畅高效地完成各自的工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kkoneone11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值