The Interface and Class Hierarchy Diagram of Java Collections

本文深入探讨了Java集合框架中的Collection与Collections的区别,详细介绍了Collection类层次、Map类层次,并通过代码示例展示了ArrayList、LinkedList、HashSet与HashMap的使用方式。

原文: The Interface and Class Hierarchy Diagram of Java Collections

1,Collection vs Collections

首先,Collection和Collections是两个不同的概念。从下面图可以看出,Collection是Collection类层上的根接口,而Collections是一个提供了很多静态方法来操作Collection对象的类。


2,Collection的类层次


3,Map的类层次



4,类总结

collection-summary


5,代码示例

List<String> a1 = new ArrayList<String>();
a1.add("Program");
a1.add("Creek");
a1.add("Java");
a1.add("Java");
System.out.println("ArrayList Elements");
System.out.print("\t" + a1 + "\n");
 
List<String> l1 = new LinkedList<String>();
l1.add("Program");
l1.add("Creek");
l1.add("Java");
l1.add("Java");
System.out.println("LinkedList Elements");
System.out.print("\t" + l1 + "\n");
 
Set<String> s1 = new HashSet<String>(); // or new TreeSet() will order the elements;
s1.add("Program");
s1.add("Creek");
s1.add("Java");
s1.add("Java");
s1.add("tutorial");
System.out.println("Set Elements");
System.out.print("\t" + s1 + "\n");
 
Map<String, String> m1 = new HashMap<String, String>(); // or new TreeMap() will order based on keys
m1.put("Windows", "2000");
m1.put("Windows", "XP");
m1.put("Language", "Java");
m1.put("Website", "programcreek.com");
System.out.println("Map Elements");
System.out.print("\t" + m1);


输出:

ArrayList Elements
	[Program, Creek, Java, Java]
LinkedList Elements
	[Program, Creek, Java, Java]
Set Elements
	[tutorial, Creek, Program, Java]
Map Elements
	{Windows=XP, Website=programcreek.com, Language=Java}



源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
### 类层次结构加载位置在软件架构中的作用 在软件架构中,类层次结构的加载位置通常取决于具体的应用场景和技术栈。以下是关于类层次结构加载的一些关键概念及其应用: #### 1. Java 中的类加载器机制 Java 应用程序(如 Apache Tomcat)通过一组分层的类加载器来管理类的加载过程。这些类加载器按照特定的父子关系组织起来[^1]。这种设计允许不同的模块拥有独立的命名空间,并支持动态更新某些部分的功能。 - **Bootstrap Class Loader**: 负责加载核心库文件 `rt.jar` 中的内容,这是 JVM 运行所需的基础类集合。 - **System Class Loader**: 加载由 `-classpath` 或者环境变量指定的标准应用程序类路径下的资源。 - **Common 和 Webapp-Specific Loaders**: 在容器环境中进一步细分职责范围,使得不同 web 应用之间可以隔离其依赖项版本冲突等问题。 上述描述展示了典型的三层级联模型,在实际开发过程中可以根据需求调整配置参数实现更复杂的定制化行为模式。 #### 2. Qt 框架内的设置对象存储方式 对于基于 C++ 的图形界面编程而言,则可能涉及到另一种类型的“类”定义——即用于保存用户偏好或者全局状态的对象实例。例如,在 Qt 框架中有专门的数据结构用来封装此类信息并提供统一访问接口[^2]。虽然这并不完全属于传统意义上的“类加载”,但它同样体现了良好的抽象设计理念:将复杂逻辑隐藏于背后的同时保持外部调用简单直观。 #### 3. 层次聚类算法可视化表示方法 最后值得一提的是,“树形图谱(dendrogram)”作为一种常见的数据展示形式也被广泛应用于统计学领域当中。它能够清晰地描绘出样本间距离变化趋势以及最终形成的簇群边界情况[^3]。尽管此处讨论的主题并非直接关联到前面提到的技术细节上,但从广义角度来看它们都反映了计算机科学内部各个分支学科之间的紧密联系。 ```python # Python 示例代码片段演示如何构建简单的二叉树结构 class TreeNode: def __init__(self, value=None): self.value = value self.left = None self.right = None def insert_into_tree(node, new_value): if node is None: return TreeNode(new_value) queue = [node] while len(queue) > 0: current_node = queue.pop(0) if not current_node.left: current_node.left = TreeNode(new_value) break else: queue.append(current_node.left) if not current_node.right: current_node.right = TreeNode(new_value) break else: queue.append(current_node.right) root = TreeNode('bootstrap') insert_into_tree(root, 'system') insert_into_tree(root, 'common') print("Class Hierarchy Example:") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值