Java学习——day 14

主要内容

  • 同步容器与只读控制
  • 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包,这个时候就可以正常使用了。

猜你喜欢

转载自blog.csdn.net/fengzhen8023/article/details/86133191