这个问题关于如何处理Java for-each循环中的元素。我有一个哈希表,它是一个LinkedLists数组。 LinkedList节点的数据部分包含TableEntry,其中K和V是键和值类型。

我写了一个for循环来查看LinkedList中的每个TableEntry,检查一个键是否等于TableEntry键。语法有点丑,所以我想可能for-each循环会更优雅/简单。

事实上写起来很简单。然而,当我完成我的IDE抱怨说,element.getValue()是Object类型的,而不是类型V.我把一个类型强制转换为语句前面的V,它停止抱怨。我还没有测试过这个代码,但我想知道,首先这是一个可接受的做法?第二,为什么元素最终会成为Object类型,即使它们具有类型V的方法?

@Override

public V getValue(K key)

{

int index = getHashIndex(key);

if(hashTable[index] != null)

{

//Standard for loop

for(int i = 0; hashTable[index].get(i) != null; i++)

{

if(hashTable[index].get(i).getKey().equals(key))

{

return hashTable[index].get(i).getValue();

}

}

//For-each loop should do same thing?

for(TableEntry element : hashTable[index])

{

if(element.getKey().equals(key))

{

return (V) element.getValue();

}

}

}

return null;

}

java什么叫元素_什么是Java做什么 - 每个元素使它们成为对象类型?相关推荐

  1. java 查找链表中间元素_如何在Java中一次性查找Java中链表的中间元素

    如何在一次传递中找到LinkedList的中间元素?这是一个 Java 和非Java程序员面试时经常被问到的编程问题.这个问题类似于检查回文或计算阶乘,有时也会要求编写代码.为了回答这个问题,候选人必 ...

  2. java查找链表中间元素_如何通过Java单次查找链表的中间元素

    java查找链表中间元素 您如何一次找到LinkedList的中间元素是一个编程问题,在电话采访中经常问Java和非Java程序员. 这个问题类似于检查回文或 计算阶乘 ,有时Interviewer还 ...

  3. java栈顶元素_栈在Java类库中的实现

    栈是一种后进先出的数据结构.在它之上,主要有三种操作: (1)判断栈是否为空--empty(): (2)在栈顶添加一个元素--push(E): (3)删除并返回栈顶元素--pop(). 在Java类库 ...

  4. java 查找链表中间元素_java查找链表中间元素_如何通过Java单次查找链表的中间元素...

    java查找链表中间元素 您如何一次找到LinkedList的中间元素是一个编程问题,在电话采访中经常问Java和非Java程序员. 这个问题类似于检查回文或 计算阶乘 ,有时Interviewer还 ...

  5. java数组删除数组元素_如何在Java中删除数组元素

    java数组删除数组元素 When we create an array in Java, we specify its data type and size. This is used by JVM ...

  6. java获取机器号_(转)JAVA获得机器码的实现

    http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码  收藏代码 /** *生成机 ...

  7. java整数的因式分解_如何在Java中找到整数的质数-因式分解

    java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...

  8. java如何实例化集合_如何在java中实例化一个Queue对象?

    Queue是一个接口,这意味着你不能直接构造一个Queue . 最好的select是构造一个已经实现Queue接口的类,如下所示: AbstractQueue , ArrayBlockingQueue ...

  9. java forkjoin 简书_浅谈Java的Fork/Join并发框架

    1. Fork/Join是什么 Oracle的官方给出的定义是:Fork/Join框架是一个实现了ExecutorService接口的多线程处理器.它可以把一个大的任务划分为若干个小的任务并发执行,充 ...

  10. 新手学java 学哪方面_初学者学Java应从哪些方面学习?

    原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...

最新文章

  1. 突发!ASML断供中芯国际
  2. ssm(Spring+Spring mvc+mybatis)Service层实现类——DeptServiceImpl
  3. java基础输入_java基础之标准输入
  4. linux 套接口文件_继上一篇,继续介绍linux 套接口
  5. VS2012连接数据库问题
  6. 千万要避免的五种程序注释方式
  7. mongoDB对没有字段的记录新增字段
  8. javascript 轮播图(缓存效果)详细篇
  9. 解决服务器上的水晶报表工具栏无法正常显示
  10. [论文]基于强化学习的控制输入非线性水下机器人自适应神经网络控制
  11. 学计算机干眼,电脑族预防干眼的7个小妙招_39健康网
  12. 统计-R(相关系数)与R^2(决定系数)傻傻分不清
  13. e 服务器怎么注册不了怎么办,IMVU注册不了怎么办 服务器错误怎么办
  14. leet198.打家劫舍
  15. C语言 “水仙花数”(包懂)
  16. 文化网页设计成品 web网页设计实例作业 ——古典中国风工艺美术(9页) html+css+javascript网页设计实例
  17. 【Lua从青铜到王者基础篇】第十二篇:Lua错误处理
  18. (附源码)计算机毕业设计ssm高校社团管理系统
  19. 通过Linux shell实现的花生壳动态域名解析(DDNS)
  20. MySQL用年、月、日、季度、周分别统计数据

热门文章

  1. 阿里开源首个深度学习框架 X-Deep Learning!
  2. ESS控制台发布新功能:创建多实例规格的伸缩配置
  3. 【视频点播最佳实践】使用OSS SDK上传视频到点播
  4. 燧原科技首发国内第二代人工智能训练芯片“邃思2.0”
  5. 移动云11.11,钜惠High不停!
  6. 500道Java 必备面试题答案(过后即删)
  7. 数据库激荡 40 年,深入解析 PostgreSQL、NewSQL 演进历程
  8. 漫画:什么是插入排序?
  9. 边缘计算高考题!全答对就可以去华为上班!
  10. 大厂必问的分布式究竟是什么鬼?