首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >确定要使用的Java集合的类型

确定要使用的Java集合的类型
EN

Stack Overflow用户
提问于 2016-08-04 16:02:17
回答 4查看 55关注 0票数 1

我的问题是:

假设我有一个很大的棒球信息列表。这个列表中的每一个条目都是一名球员打出的本垒打,记录了他的名字和他打出本垒打时所在的球队。它看起来像这样:

代码语言:javascript
运行
AI代码解释
复制
Player    |      Team
tim             eagles
john            bears
frank           lions
tim             lions
frank           bears
john            lions
john            bears
tim             eagles
tim             eagles
frank           eagles

我正在尝试理解如何以这样的形式存储这些数据:每个球员都有一个键列表:值对,其中K=(球队名称),V=(为该球队打球时的本垒打次数)。这组key:value应该按照回调次数排序。

这只是我想解决问题的方法,但我真的不知道这是不是最好的方法。最终目标是能够列出表单的另一个列表:

代码语言:javascript
运行
AI代码解释
复制
Player   |    Team    |    Homeruns
 tim         eagles           3
 john        bears            2
 frank       lions            1
 frank       eagles           1
 john        lions            1
 tim         lions            1
 frank       bears            1

我该如何着手创建这样的数据结构呢?

到目前为止,我的主要想法是: ArrayList of TreeMaps,其中每个TreeMap对应一个播放器。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-08-04 16:26:59

不如..。

代码语言:javascript
运行
AI代码解释
复制
class Player{
  Map<String, Integer> homeRuns; 
}

然后在其他地方,你可能会有一个播放器类型的列表。

但我也同意PNS的说法,我也阅读了数据结构和POJO。

票数 1
EN

Stack Overflow用户

发布于 2016-08-04 16:13:30

通常,拥有嵌套的集合并不是一个好主意。而是使用具有另一个集合的自定义对象的集合。

在您的例子中,您应该有一个Player类,它有一组或一组本垒打,这也是一个自定义类。

代码语言:javascript
运行
AI代码解释
复制
class Player{
    List<HomeRun> homeRuns;
}

class HomeRun{
    String team;
}

现在,您可以让Player实现Comparable<Player>,并根据homeRuns集合的大小对它们进行排序,然后您可以将您的Player存储在TreeSet中。

票数 2
EN

Stack Overflow用户

发布于 2016-08-04 16:15:20

这就是编程的方式。有许多不同的解决方案,所以这取决于您所说的需要什么。如果您知道除了在问题中提供的信息之外,您不需要更多的信息,那么使用list和map的解决方案应该没问题。然而,也许考虑一下,如果你在某个时候需要得到每支球队曾经得分的本垒打次数,或者必须添加哪个赛季的本垒打次数,你应该怎么做。

我建议研究数据库设计,这可能不是你所需要的,但我有很多关于可扩展设计的知识。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38772258

复制
相关文章
SVG基础
SVG可缩放矢量图形Scalable Vector Graphics是基于可扩展标记语言XML,用于描述二维矢量图形的一种图形格式。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式,SVG于2003年成为W3C推荐标准。
WindRunnerMax
2020/08/27
2.4K0
SVG图像技术摘要
该公司今天没有,研究了最近流行SVG技术,发现,随着css3不断流行,和浏览器技术的发展,SVG网站将取代大量的图片,成为主流站点图片展示。
全栈程序员站长
2022/07/06
1.3K0
SVG绘制星空效果
主要代码: 代码详见GitHub:https://github.com/toly1994328/svg-night: svg星空 <!DOCTYPE html> <html lang="en">
张风捷特烈
2018/09/26
1.4K0
SVG基础知识
之前有提到过SVG描边动画,可以实现很神奇的手写签名动画效果,当然,理论上可以用来实现任意不规则路径填充动画
ayqy贾杰
2019/06/12
2.1K0
一篇文章带你了解SVG 蒙版(Mask)
SVG蒙版功能可将蒙版应用于SVG形状。蒙版可确定SVG形状的哪些部分可见,以及具有什么透明度。运行效果可以将SVG蒙版视为剪切路径的更高级版本。
前端皮皮
2020/11/26
2K0
一篇文章带你了解SVG 蒙版(Mask)
SVG基础知识速查笔记
svg是指可缩放矢量图形,是用于描述二维矢量图形的一种图形格式。svg使用XML格式来定义图形,除ie8之前版本外,绝不部分浏览器均支持svg,可将svg文本直接嵌入HTML中显示。
前端_AWhile
2019/09/06
2K0
带你轻松打开svg滤镜的大门
本文介绍了SVG滤镜的用法,包括如何定义和使用滤镜、如何给不同的SVG元素添加滤镜、以及通过编程方式控制滤镜等。同时,还介绍了在网页中应用SVG滤镜的方法,包括使用SVG元素、使用CSS滤镜、以及使用JavaScript控制滤镜等。此外,还提供了若干示例和代码片段供参考。
练小习
2017/11/30
1.3K0
SVG绘图高斯模糊滤镜
运用SVG绘图实现一个模糊字体效果,比用CSS的阴影写出来的要好看的多。 实现效果如下: 实现代码如下: <!DOCTYPE html> <html> <head lang="en"> <me
越陌度阡
2020/11/26
6640
SVG绘图高斯模糊滤镜
一篇文章带你了解SVG 阴影
所有互联网的SVG滤镜定义在<defs>元素中。<defs>元素定义短并含有特殊元素(如滤镜)定义<filter>标签用来定义SVG滤镜。
前端进阶者
2021/03/03
9180
一篇文章带你了解SVG 阴影
三种方式:object、embed、mask引用 Svg 并更改样式
方式1:使用Object、embed标签引入 html <div class="item"> <object data="test.svg" type="image/svg+xml"></object> <embed src="test.svg" type="image/svg+xml" /> </div> 更改颜色,大小可通过css处理 .item { overflow: hidden; object,embed { cursor: pointer; filter: dro
White feathe
2022/04/21
1.2K0
带你轻松打开svg滤镜的大门
本文介绍了SVG滤镜的用法,包括模糊、失真、暗角、浮雕等效果,并通过实例进行演示。同时介绍了如何在DOME中自定义属性,以及常见的SVG图像的fallback方案。
练小习
2017/12/29
1.2K0
带你轻松打开svg滤镜的大门
css实现文字颜色渐变
background: -webkit-linear-gradient(…) 为文本元素提供渐变背景。 webkit-text-fill-color: transparent 使用透明颜色填充文本。 webkit-background-clip: text 用文本剪辑背景,用渐变背景作为颜色填充文本。
javascript.shop
2019/09/04
3.6K0
【开源游戏/网络游戏】勇士的战争!
图片演示: 代码摘要: HTML: <div id="preloadScreen" class="preload-screen external-screen"> <div class="cente
用户5997198
2019/12/19
1.6K0
SVG - 基本的SVG属性
SVG - 基本的SVG属性 HTML5学堂:在前一篇文章当中,我们讲解了SVG的基本知识,并且为大家介绍了如何在html文件当中书写SVG代码。今天我们具体讲解SVG的基本属性,如何使用SVG完成线、圆等图形的绘制。 line - 直线 拥有四中基本属性 x1 属性在 x 轴定义线条的开始 y1 属性在 y 轴定义线条的开始 x2 属性在 x 轴定义线条的结束 y2 属性在 y 轴定义线条的结束 demo <line x1 = "20" y1 = "20" x2 = "200" y2 = "180" st
HTML5学堂
2018/03/12
4.1K0
一篇文章带你了解SVG 渐变知识
渐变是一种从一种颜色到另一种颜色的平滑过渡。另外,可以把多个颜色的过渡应用到同一个元素上。
前端皮皮
2020/11/26
1.2K0
一篇文章带你了解SVG 渐变知识
mask
https://developer.mozilla.org/zh-CN/docs/Web/CSS/mask
阿超
2022/12/27
7040
mask
有意思!强大的 SVG 滤镜
想写一篇关于 SVG 滤镜的文章已久,SVG 滤镜的存在,让本来就非常强大的 CSS 如虎添翼。让仅仅使用 CSS/HTML/SVG 创作的效果更上一层楼。题图为袁川老师使用 SVG 滤镜实现的云彩效果 -- CodePen Demo -- Cloud (SVG filter + CSS)。
Sb_Coco
2021/03/30
1.7K0
有意思!强大的 SVG 滤镜
SVG快速入门小白篇
SVG .svg 使用xml语法 <?xml version='10.' standalone='no'> standalone 规定此SVG文件是否是独立的 或者是说含有外部文件的引用 在html中
起名字好难哟
2021/08/30
1.1K3
SVG快速入门小白篇
前端-SVG 实现动态模糊动画效果
今天我们将向大家展示如何制作SVG动态模糊效果,并将其应用于HTML元素的常规JS或CSS动画。
grain先森
2019/03/29
2.5K0
前端-SVG 实现动态模糊动画效果
SVG绘制渐变颜色文字
H5提供了很多有意思的新特性,工作中用的比较少,但是这仍然不能阻碍我们对它的兴趣,先给大家上个图,如果要用CSS来写这个效果,如何才能实现呢?
越陌度阡
2020/11/26
2.2K0
SVG绘制渐变颜色文字

相似问题

@KafkaListener只有在满足一定条件时才拉取新数据,如果条件不成立,则应停止拉取数据,直至满足条件为止

113

拉取某列中编号最小的行

43

仅当满足两个条件时才从SQL拉取

10

当某列中具有相同值的其他行满足条件时更新行

11

根据一定条件拉取ManytoOne

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档