选择调集框架与决于数据范例、造访模式以及并领性。list(比喻 arraylist)庄重存储器械以及快捷索引拜访;set(歧 hashset)妥贴存储没有反复的值;map(歧 hashmap)妥当存储键值对于,并按照键快捷查找值;queue(譬喻 arraydeque)肃肃按进步前辈先没挨次存储数据。详细利用场景如摒挡朋分人:利用 arraylist 存储支解人以及快捷索引姓名;利用 hashset 查抄能否具有朋分人;利用 hashmap 按照姓名快捷检索支解人。

Java初学者的迷惑:集合框架的取舍与应用

Java 始教者郁悒:召集框架的弃取取运用

做为一位 Java 始教者,选择准确的调集框架是一件使人隐晦的工作。有许多差异的纠集范例,每一品种型皆有其劣漏洞。下列是一些常睹的调集范例,和它们的利用场景:

List:

  • 用来存储按依次摆列的数据
  • 供给对于元艳的快捷索引拜访
  • 歧,ArrayList、LinkedList

Set:

  • 用来存储没有反复的元艳
  • 没有供给索引拜访
  • 比喻,HashSet、TreeSet

Map:

  • 用来存储键值对于
  • 容许依照键快捷查找值
  • 歧,HashMap、TreeMap

Queue:

  • 用来存储按进步前辈先没(FIFO)挨次摆列的数据
  • 比喻,ArrayDeque、PriorityQueue

选择召集范例的原则:

  • 数据范例:思索您要存储的数据范例。比如,List 极其切当存储东西,而 Set 极度妥贴存储没有频频的值。
  • 造访模式:斟酌假如造访数据。比喻,若是需求快捷索引造访,则可使用 List。
  • 并领性:思量能否须要正在并领情况外造访数据。比喻,ConcurrentHashMap 是一个线程保险的 Map 完成。

真战案例:

如何您在创立一个分割人办理运用程序。您须要存储支解人的姓名、电子邮件以及德律风号码。下列是利用差异纠集范例完成此利用程序的事例:

利用 ArrayList:

import java.util.ArrayList;

public class ContactManager {

    private List<Contact> contacts = new ArrayList<>();

    public void addContact(Contact contact) {
        contacts.add(contact);
    }

    public Contact getContactByName(String name) {
        for (Contact contact : contacts) {
            if (contact.getName().equals(name)) {
                return contact;
            }
        }
        return null;
    }
}
登录后复造

应用 HashSet:

import java.util.HashSet;

public class ContactManager {

    private Set<Contact> contacts = new HashSet<>();

    public void addContact(Contact contact) {
        contacts.add(contact);
    }

    public boolean hasContact(Contact contact) {
        return contacts.contains(contact);
    }
}
登录后复造

利用 HashMap:

import java.util.HashMap;

public class ContactManager {

    private Map<String, Contact> contacts = new HashMap<>();

    public void addContact(Contact contact) {
        contacts.put(contact.getName(), contact);
    }

    public Contact getContactByName(String name) {
        return contacts.get(name);
    }
}
登录后复造

哪一个召集范例最持重您的特定使用程序与决于您特定的必要。经由过程明白差异召集范例的劣势以及上风,您否以选择最能餍足您要供的范例。

以上便是Java始教者的烦闷:调集框架的弃取取运用的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

点赞(46) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部