Java基础用法和所遇到的坑的讲解

文章 , 技术分享
337 0

前言

List,Set,Map的详细的用法,和他们的等等互相转化,遍历等等,
一般数据都是通过json格式传输的,在python中可以直接使用 json.loads(dict)将json格式字符串转为json格式在使用,在使用json.load()转为python对象, 将{1:小明, 2:小b, 3:小c, 4:小d, 5:小e}这种格式的字符串转为Map类型等等

Java提供了丰富的集合框架,包括List、Set和Map接口,分别对应线性表、集合和映射结构。下面分别介绍它们的详细用法和相互转换方法。

List

List是一个有序的线性表,允许重复元素。常用的实现类有ArrayList和LinkedList。创建一个List的示例:

List list = new ArrayList<>();

添加元素:

list.add("A");
list.add("B");
list.add("C");

遍历List的方法:

使用for循环:

for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}

使用增强for循环:

for (String item : list) {
    System.out.println(item);
}

使用迭代器:

Iterator iterator = list.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

Set

Set是一个不允许重复元素的集合。常用的实现类有HashSet和TreeSet。创建一个Set的示例:

Set set = new HashSet<>();

添加元素:

set.add("A");
set.add("B");
set.add("C");

遍历Set的方法类似于List。

Map

Map是一个键值对的映射表,键唯一,值可以重复。常用的实现类有HashMap和TreeMap。创建一个Map的示例:

Map<Integer, String> map = new HashMap<>();

添加元素:

map.put(1, "小明");
map.put(2, "小b");
map.put(3, "小c");

遍历Map的方法:

使用键值对的方式遍历:

for (Map.Entry<Integer, String> entry : map.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}

使用键遍历:

for (Integer key : map.keySet()) {
    System.out.println(key + ": " + map.get(key));
}

List、Set和Map之间的转换

List转Set:

List list = new ArrayList<>();
// 添加元素 ...
Set set = new HashSet<>(list);

Set转List:

Set set = new HashSet<>();
// 添加元素 ...
List list = new ArrayList<>(set);

Map的键或值转List或Set:

Map<Integer, String> map = new HashMap<>();
// 添加元素 ...
List keyList = new ArrayList<>(map.keySet());
Set keySet = new HashSet<>(map.keySet());
List valueList = new ArrayList<>(map.values());
Set valueSet = new HashSet<>(map.values());

在Java中什么时候用的是put什么时候用的add

在Java中,putadd是用于不同类型的数据结构的方法。

put是用于Map类型的数据结构,它用于将一个键值对添加到Map中,或者用新的值替换Map中已有的键的值。例如:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);

在上面的示例中,我们使用put方法将三个键值对添加到Map中。

add是用于集合类型的数据结构,例如List、Set等。它用于将一个元素添加到集合中。例如:

List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");

在上面的示例中,我们使用add方法将三个元素添加到List中。

需要注意的是,add方法只能添加一个元素,而put方法可以添加一个键值对。此外,put方法还可以用于替换Map中已有的键的值,而add方法不具备这个功能。

Map.Entry和Map的区别

Map.EntryMap是Java中两个不同的接口,用于表示不同的概念。

Map.Entry接口表示一个键值对(key-value pair),包含getKey()getValue()方法,用于获取该键值对的键和值。该接口通常用于遍历Map中的键值对集合,比如通过entrySet()方法获取Map中所有键值对的集合。

Map接口则表示一个键到值的映射关系,通常用于存储和访问数据,其中每个键都映射到一个唯一的值。Map中的键和值可以是任意类型,并且不能包含重复的键(每个键只能映射到一个值)。Map提供了一系列方法,例如put()get()containsKey()等,用于向Map中添加、获取和查询键值对。

因此,Map.EntryMap都是用于处理键值对的接口,但它们的作用不同:Map.Entry用于表示单个键值对,而Map用于存储和管理多个键值对。

最后更新 2023-07-15
评论 ( 0 )
OωO
隐私评论