美文网首页
Java学习——day 14

Java学习——day 14

作者: 振礼硕晨 | 来源:发表于2019-01-09 09:56 被阅读0次

主要内容

  • 同步容器与只读控制
  • IEDA中引入外部jar包

笔记详情

1. 同步容器与只读控制

我们知道Java中的ArrayList、HashMap、LinkSet等容器都是线程不安全的,都是非同步的。如果我们在多线程编程过程中,需要将其设置为同步,可以用 Collections类的synchronizedMap、synchronizedSet、synchronizedList方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。下面给出一个实例:

/**
 * 将非同步的List转成同步的List
 * Set、Map接口的转换方式和List的转换方式如出一辙
 */
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Demo01 {

    public static void main(String[] args) {

        List<String> stringList1 = new ArrayList<String>();
        stringList1.add("Tom");
        stringList1.add("Jack");
        stringList1.add("Jane");
        
        // 同步的List
        List<String> stringList2 = Collections.synchronizedList(stringList1);
    }
}

只读控制,即对Java中的容器进行设置,将容器设置为只读的,一旦设置之后,容器中的元素就不能改变。只读控制有三类:将容器设置为空的、只有一个元素、元素不可改变的。可以通过Collections类提供的方法来实现:emptyXXX(XXX可以为List、Set、Map)、singletonXXX(XXX可以为空、List、Map,为空时表示Set)、unmodifiableXXX(XXX可以为List、Set、Map)。下面给出一个实例:

/**
 * 这里举出List实例,Set、Map与此同理
 */
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Demo02 {

    public static void main(String[] args) {
        /*****************************定义一个空的List*****************************/
        List<String> stringList1 = Collections.emptyList();
        
        
        /*****************************定义一个只有一个元素的容器*****************************/
        List<String> stringList2 = Collections.singletonList("feng");
        // stringList2.add("222");  // 容器中只能有一个元素,不能再进行添加


        /*****************************定义一个不可变容器*****************************/
        List<String> stringList3 = new ArrayList<String>();

        stringList3.add("Tom");
        stringList3.add("Jack");
        stringList3.add("Jane");

        List<String> stringList4 = Collections.unmodifiableList(stringList3);
        // stringList4.add("feng");  容器是不可变的,不能再进行添加元素
    }
}

2. IEDA中引入外部jar包

在我们的项目中,可能会使用到一些成熟的框架,需要引入外部的一些jar包,在这里就总结一下,在IDEA中,如果引入外部jar包。

首先我们将下载的jar包放在合适的位置,我们需要通过该位置加载jar包。然后回到IEDA,点击【File】,选择【Project Structure】。

然后按照下图,依次点击【Modules】、【Depedencies】、【+】

点击【+】之后,选择第一个选项【JARs or directories】,然后找到下载的jar包,点击【OK】。然后再进行点击【OK】即可完成。

现在再回到项目中,我们就可以看到加载完成的外部jar包,这个时候就可以正常使用了。

相关文章

  • Java学习——day 14

    主要内容 同步容器与只读控制 IEDA中引入外部jar包 笔记详情 1. 同步容器与只读控制 我们知道Java中的...

  • Java学习Day14

    今日学习内容总结 线程池 Lambda表达式 线程池 线程池: 其实就是一个容纳多个线程的容器,其中的线程可以反复...

  • java.lang.classnotfoundexception

    day14 tomcat 综合小案例中遇到的java.lang.classnotfoundexception问题 ...

  • java day 14

    Map java Map及Map.Entry详解Map是java中的接口,Map.Entry是Map的一个内部接口...

  • By the skin of your teeth

    Day 14-英语学习打卡Date:3rd Oct 14:00-14:30Topic:EC沟通中级IdiomBy ...

  • 10.8

    DAY13-14 10.6-10.7 完善课表 天码营JAVA入门基础教程1~14 做了一点笔记,感觉比书上讲的容...

  • Java学习笔记

    Java学习笔记 day1 public class Hello2 { ​ public static voi...

  • Java day14

  • 七月末的坚持

    Day14 今天学习了发音/ɜ:/、/r/、/g/、/ɔ:/,练习了句子“Doctors in Tokyo led...

  • 笃学奖-Topic4-A14066-甘比精读

    day12: day13: day14

网友评论

      本文标题:Java学习——day 14

      本文链接:https://www.haomeiwen.com/subject/emyyrqtx.html