一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java使用集合實現通訊錄功能

java使用集合實現通訊錄功能

2021-04-06 11:31chen449757520 Java教程

這篇文章主要為大家詳細介紹了java使用集合實現通訊錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java使用集合實現通訊錄的具體代碼,供大家參考,具體內容如下

代碼有些繁瑣,只適合初學者。

項目1

java通訊錄

方法(聲明方法的類)

代碼塊

代碼塊語法遵循標準markdown代碼,例如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
package com.lanou.homwork;
 
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Set;
 
class ContactPerson {
  public HashMap map = null;
 
  public HashMap getMap() {
    return map;
  }
 
  public void setMap(HashMap map) {
    this.map = map;
  }
 
  public ContactPerson(HashMap map) {
    super();
    this.map = map;
  }
 
  public ContactPerson() {
 
  }
 
  // 添加聯系人
  public HashMap addContact(Person person) {
 
    // map集合為空
    if (this.map.size() == 0) {
 
      LinkedList list = new LinkedList();
      // 添加到list集合里
      list.add(person);
 
      this.map.put(person.getFirstCard(), list);// 添加map集合
      System.out.println(person.getFirstCard());
    } else {
      System.out.println("1111111111111111111");
      // 不為空的時候.首先判斷有沒有這個分組
      Set keySet = this.map.keySet();// 得到所有的鍵key
      // 遍歷所有鍵
      for (Object object : keySet) {
        if (person.getFirstCard().equals(object)) {
          Object object2 = this.map.get(person.getFirstCard());
          LinkedList linkedList = (LinkedList) object2;
          // 有這個分組
          linkedList.add(person);
        } else {
          // 沒有這個分組
          LinkedList list3 = new LinkedList();
          list3.add(person);
          this.map.put(person.getFirstCard(), list3);
          System.out.println(keySet);
          System.out.println(map.values());
          return map;
        }
      }
    }
 
    return map;
  }
 
  // 刪除聯系人
  public void remove(Person person) {
    // 首先找到那個分組
    // 所有的值
    Set set = this.map.keySet();
    for (Object object : set) {
      String nameString = person.getFirstCard();
      if (nameString.equals(object)) {
        // 找見分組
        Collection collection = this.map.values();
        for (Object object1 : collection) {// list數組
          LinkedList list1 = (LinkedList) object1;// 強制轉換
          for (Object object2 : list1) {// 遍歷
            Person person2 = (Person) object2;//
            if (person.getNameString().equals(
                person2.getNameString())) {
              if (list1.size() == 1) {
                this.map.remove(person2.getFirstCard());// 刪除整個分組
                show();
              } else {
                list1.remove(person2);
                show();
              }
 
            }
          }
        }
      }
    }
  }
 
  // 展示方法
  public void show() {
    System.out.println("*************************************");
    System.out.println("請選擇功能");
    String[] newArrayStrings = { "1.添加聯系人", "2.刪除聯系人", "3.修改聯系人",
        "4.展示所有聯系人" };
    for (int i = 0; i < newArrayStrings.length; i++) {
      System.out.println("******" + newArrayStrings[i] + "******");
    }
    System.out.println("*************************************");
    Scanner scanner = new Scanner(System.in);
    int i = scanner.nextInt();
    switch (i) {
    case 1: {
      addPerosn();
 
    }
      break;
    case 2: {
      removePerson();
    }
      break;
    case 3: {
      upPerson();
    }
      break;
    case 4: {
      printResult(this.map);
    }
      break;
 
    default:
      break;
    }
 
  }
 
  // 修改聯系人信息
  public void upPerson() {
    Person person = new Person();
    System.out.println("請輸入要修改人的姓名:");
    Scanner scanner = new Scanner(System.in);
    String naString = scanner.next();
    person.setNameString(naString);
    shanChu(person);
  }
 
  // 輸入新的人名,年齡
  public void cc(Person person) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("請輸入新的名字:");
    String naString2 = scanner.next();
    System.out.println("請輸入新的年齡:");
    int age = scanner.nextInt();
    System.out.println("請輸入新的分組");
    String group = scanner.next();
    upPersonMessage(person, naString2, group, age);
  }
 
  // 判斷有沒有這個人
  public void shanChu(Person person) {
    if (this.map.isEmpty()) {
      System.out.println("通訊錄為空,修改失敗");
      System.out.println("是否添加聯系人?(Yes/No)");
      Scanner scanner = new Scanner(System.in);
      String nameString = scanner.next();
      if (nameString.equals("Yes")) {
        addPerosn();
      } else {
        System.out.println("傻逼,滾你媽");
      }
    }
    Collection collection = this.map.values();
    for (Object object : collection) {
      LinkedList list = (LinkedList) object;
      for (Object object2 : list) {
        Person person2 = (Person) object2;
        if (person.getNameString().equals(person2.getNameString())) {
          System.out.println("恭喜你,通訊錄有此人");
          cc(person);
        } else {
          System.out.println("輸入有誤");
        }
      }
    }
  }
 
  public Person addPerosn() {
    Person p = new Person();
    System.out.println("請輸入添加人名字:");
    Scanner scanner = new Scanner(System.in);
    // 姓名
    String name = scanner.next();
    // 年齡
    System.out.println("請輸入年齡:");
    int age = scanner.nextInt();
    // 分組
    System.out.println("請輸入分組名稱:");
    String firstCardString = scanner.next();
    p.setFirstCard(firstCardString);
    p.setAge(age);
    p.setNameString(name);
    System.out.println(p);
    addContact(p);
    System.out.println("是否繼續操作?y/n");
    if (scanner.next().equals("y")) {
      show();
    } else {
      System.out.println("***************歡迎您下次再來****************");
 
    }
    return p;
  }
 
  public Person removePerson() {
    Person p = new Person();
    System.out.println("請輸入刪除人名字:");
    Scanner scanner = new Scanner(System.in);
    // 姓名
    String name = scanner.next();
    // 年齡
    System.out.println("請輸入刪除人的年齡:");
    int age = scanner.nextInt();
    // 分組
    System.out.println("請輸入刪除的分組名稱:");
    String firstCardString = scanner.next();
    p.setFirstCard(firstCardString);
    p.setAge(age);
    p.setNameString(name);
    remove(p);
    return p;
  }
 
  // 修改聯系人
  public HashMap upPersonMessage(Person person, String nameString,
      String firstCard, int age) {
    // 判斷有沒有此聯系人
    if (this.map.isEmpty()) {
      System.out.println("通訊錄為空");
    } else {
      String name = person.getFirstCard();
      // 找聯系人
      Collection collection = this.map.values();// 得到所有的值
      for (Object object : collection) {
        LinkedList list = (LinkedList) object;
        for (Object object2 : list) {
          Person p = (Person) object2;
          if (person.getNameString().equals(p.getNameString())) {
            // 相等話,說明有這個人
            System.out.println("有次聯系人");
            if (list.size() == 1) {
              this.map.remove(p.getFirstCard());
 
              Person person2 = new Person();
              person2.setAge(age);
              person2.setFirstCard(firstCard);
              person2.setNameString(nameString);
              LinkedList list2 = new LinkedList();
              list2.add(person2);
              this.map.put(person2.getFirstCard(), list2);
              System.out.println(this.map);
            } else {
              Person person2 = new Person();
              person2.setAge(age);
              person2.setFirstCard(firstCard);
              person2.setNameString(nameString);
              list.add(person2);
              System.out.println(this.map);
            }
 
          }
 
        }
      }
    }
    return map;
  }
 
  // 顯示所有的聯系人
  public void printResult(HashMap map1) {
    if (map1.isEmpty()) {
      System.out.println("通訊錄為空");
    } else {
      System.out.println(map1);
      Scanner scanner = new Scanner(System.in);
      System.out.println("是否繼續y/n");
      if (scanner.next().equals("y")) {
        show();
      } else {
        System.out.println("***************歡迎您下次再來****************");
 
      }
    }
  }
}
 
class Person {
 
  private String nameString;
  private String firstCard;
  private int age;
 
  public String getNameString() {
    return nameString;
  }
 
  public void setNameString(String nameString) {
    this.nameString = nameString;
  }
 
  public String getFirstCard() {
    return firstCard;
  }
 
  public void setFirstCard(String firstCard) {
    this.firstCard = firstCard;
  }
 
  public int getAge() {
    return age;
  }
 
  public void setAge(int age) {
    this.age = age;
  }
 
  public Person() {
    super();
    // TODO Auto-generated constructor stub
  }
 
  public Person(String nameString, String firstCard) {
    this.nameString = nameString;
    this.firstCard = firstCard;
  }
 
  public Person(String nameString, String firstCard, int age) {
    this(nameString, firstCard);
    this.age = age;
  }
 
  @Override
  public String toString() {
    return "姓名:" + this.getNameString() + "年齡:" + this.age + "分組:"
        + this.firstCard;
  }
}

腳注

項目2

測試類

代碼塊

代碼塊語法遵循標準markdown代碼,例如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.lanou.homwork;
 
import java.util.HashMap;
 
public class TestPerson {
 
  public static void main(String[] args) {
 
    HashMap map = new HashMap();
     ContactPerson contactperson = new ContactPerson(map);
 
     contactperson.show();
  }
}

感謝瀏覽。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/chen449757520/article/details/77933261

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本韩国无矿砖码 | 色综合久久九月婷婷色综合 | 国产小视频在线播放 | 麻豆性视频 | 久久高清一级毛片 | 91国产在线播放 | 王者荣耀瑶白色液体 | 国产精品1区2区 | 我与旗袍老师疯狂床震 | 7777色鬼xxxx欧美色夫 | 水蜜桃一二二区视在线 | 99ri在线精品视频在线播放 | 欧美人与禽杂交大片 | 免费操比视频 | 99亚洲视频 | 冰雪奇缘1完整版免费观看 变形金刚第一部 | 娇小性色 | 天天久久影视色香综合网 | 四虎影视免费观看 | 97精品国产自在现线免费 | 国产麻豆流白浆在线观看 | 亚洲第一成年免费网站 | 2022最新国产在线不卡a | ak福利午夜在线观看 | 国内精品麻豆 | 欧美不卡一区二区三区免 | 国产探花视频在线观看 | 白丝女仆被啪到深夜漫画 | 乌克兰粉嫩摘花第一次 | yellow字幕网在线zmzz91 | 视频一区二区三区在线观看 | 天天综合色天天综合网 | 日本熟hdx | 免费看欧美一级特黄a大片一 | 天码毛片一区二区三区入口 | 美女一线天 | 草草剧场 | 91精品啪在线观看国产日本 | 亚洲高清视频在线 | 男生的j桶女人屁免费视频 男生操男生 | 色综合久久天天综合 |