List<Integer> fList = F(i); 什么意思

Java 中的 int 与 Integer 用于 List&Integer& 时,以及通过打印变量检測程序执行和函数调用次数计数
时间: 20:21:15
&&&& 阅读:178
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&
总结一下近期做的东西中遇到的问题
1. Java 中的 int 与 Integer 用于 List&Integer& &时
& &两者之间的关系都是非常清楚的。int 是基本数据类型,存储的是值,而 Integer 是引用数据类型,存储的是指向数值的地址。 Integer 是在类层面上对 int 的封装。然后 Java 提供了自己主动装包拆包机制,使得两者之间能够转换。这里主要是測试了下它们用于 List 时候的疑惑。
* To change this template, choose Tools | Templates
* and open the template in the editor.
import java.util.LinkedL
import java.util.L
* @author User
public class test_Integer {
* @param args the command line arguments
public static void main(String[] args) {
// TODO code application logic here
List&Integer& lst=new LinkedList();
lst.add(new Integer(1));
lst.add(3);
lst.add(5);
lst.add(7);
lst.add(9);
for(int i=0;i&10;++i){
if(lst.contains(i)==false) lst.add(i);
else System.out.println(&true:&+i);//结果显示,直接用int型的i值来推断包括关系,能够正确推断
for(int i=0;i&lst.size();++i){//输出
System.out.print(lst.get(i)+& &);
System.out.println();
lst.remove(1);//结果显示,删除了索引1号位的元素
for(int i=0;i&lst.size();++i){//输出
System.out.print(lst.get(i)+& &);
System.out.println();
lst.remove(new Integer(1));//结果显示,删除了值为1的元素
for(int i=0;i&lst.size();++i){//输出
System.out.print(lst.get(i)+& &);
System.out.println();
1 3 5 7 9 0 2 4 6 8
1 5 7 9 0 2 4 6 8
5 7 9 0 2 4 6 8
5 7 9 0 4 6 8
通过測试发现,在 List&Integer& lst 推断包括关系 contains 时。能够用 int 型的变量正确推断是否包括了;而在删除 remove 时。用 int 型变量的话。删除的是对应索引的元素。而不是那个值的元素。究其原因。推測应该是 contains 方法没有被重载。它仅仅有一种參数,就是 Object 类型,这时用 int 型变量做实參。就自己主动转换为 Integer 类型。而 remove 方法被重载了,不仅有 int 型形參,还有 Object 型形參。这种话,当用 int 型变量做实參时,匹配的就直接是那个删对应索引的元素,即
int 型形參。不会转换为 Integer 变量。这样想来,也是显然的了。有 remove 的那个困惑,可能主要由于你在 add 的时候是能够直接用 int 型变量的,(并且经常都是用 int 型变量),处于对等的想法,就会以为在 remove 的时候用 int 型变量就能够删除值为它的元素。
只是另一点疑惑的是。List&Integer& 中存的是引用。程序中之前存的 1 或 2 &的引用。和后来要删除时自己暂时 new 的新的 1 或 2 的引用。就算 1 的由于都是常量,但 2 第一次增加的时候是由 int 型变量转换而来,之后删除时 2 是暂时 new 出来的 Integer 变量,这种两个引用是一样的吗?
2. Netbeans 程序框和程序计数
之前一个程序跑了好久,然后过程中没有输出,看着 Netbeans 就是一直不动,以为程序哪里出问题卡死了呢。Netbeans 右下角有一个进度条,它在程序有输出时会连续跑 4 圈,然后变蓝色暂停不再跑。(这种话。不要以为程序出问题了~~~)
有一个小技巧就是,假设是递归调用的函数,能够加入一个静态变量记录该函数调用的次数。并每次输出它,不仅能够看到该函数被调用次数,也能够知道程序在执行~~意思就是通过打印变量去检測程序执行到哪了,特别是在递归的时候~
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:http://www.cnblogs.com/hrhguanli/p/5080630.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!java里List&List&Integer&&这种类型,我的码为什么不能实现我想要的结果?_百度知道
java里List&List&Integer&&这种类型,我的码为什么不能实现我想要的结果?
public List&List&Integer&& generate(int numRows) {
List&List&Integer&&t=new ArrayList&List&Integer&&();
List&Integer& r; int count=0;
if(numRows&=2){
r = new ArrayList&Integer&();
while(c...
我有更好的答案
while (count & numRows) {
List&Integer& r1 = new ArrayList&Integer&();
r1.addAll(r);
t.add(r1);
import java.util.*;public class ProjectTest { LinkedList&Integer& temp=new LinkedList&Integer&(); public void init(){
for(int i=0;i&100;i++){
temp.add(i);
} } public void test(LinkedList&Integer& list){
LinkedList&Integer& copy=new LinkedList&Integer&(list);
for(int i=0;i&10;i++){
copy.removeFirst();
list= } public void test2(LinkedList&Integer& list){
for(int i=0;i&10;i++){
list.removeFirst();
} } public static void main(String[] args){
ProjectTest pt=new ProjectTest();
pt.init();
pt.test(pt.temp);
System.out.println(pt.temp.size());
pt.test2(pt.temp);
System.out.println(pt.temp.size()); }}
???你给我链表干什么?
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java 中 ArrayList 与int 数组的转换和合并问题_百度知道
java 中 ArrayList 与int 数组的转换和合并问题
如题这个问题一直没弄明白
书也看了 还是不怎么清楚
我有更好的答案
ArrayList 后面追加 int 数组的内容,用 addAll 方法:ArrayList&Integer& al = ...;int[] i = ...;al.addAll(new Arrays&Integer&(i));ArrayList 转成数组用 toArray 方法:ArrayList&Integer& al = ...;Integer[] integer = (Integer[])al.toArray();
采纳率:47%
import java.util.ArrayLpublic class Test { /**
* @param args
*/ public static void main(String[] args) {
// TODO Auto-generated method stub
new Test().start(); }
private void start() {
ArrayList &Integer& a = new ArrayList&Integer&();
//ArrayList 转 int 数组,这里必须使用Integer[]
Integer[] array = new Integer[100];
a.toArray(array); }}
ArrayList是集合框架ArrayList&Integer&() 等小于int数组
为您推荐:
其他类似问题
您可能关注的内容
arraylist的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java List&List&Integer& & vecvecRes 我想给二维的vecvecRes 的第二个行添加一个值,_百度知道
java List&List&Integer& & vecvecRes 我想给二维的vecvecRes 的第二个行添加一个值,
java List&List&Integer& & vecvecRes 我想给二维的vecvecRes 的第二个行添加一个值,用vecvecRes.get(2).add(33);语句,但是返回的结果却是给所有行都添加了同样的值,怎么回事????
我有更好的答案
public static void main(String[] args) {List&List&Integer&& vecvecRes = new ArrayList&List&Integer&&();for (int i = 0; i & 10; i++) {List&Integer& list = new ArrayList&Integer&();for (int j = 0; j &= j++) {list.add(j);}vecvecRes.add(list);}System.out.println(vecvecRes);vecvecRes.get(2).add(33);System.out.println(vecvecRes);}我写了个方法 ,里面没有给所有行都添加同样的值,就第二个添加了。你看看是不是哪里写错了,或者写入什么循环里了
采纳率:49%
直接在第二行最后追加一个数字? talenthell 回答给出的代码没有问题,你看看你自己的问题在哪
你好,你想做的是赋值?
不是赋值,是追加,向第二行追加一个值
为您推荐:
其他类似问题
integer的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java语言List中的元素为Integer,怎么和int数据比较_百度知道
java语言List中的元素为Integer,怎么和int数据比较
List&Integer& w = new LinkedList&Integer&();
//w中各元素、、或为0或为1if(w.get(j) == 0){
//这一句应怎样写???
number++;}
我试了一下上面确实可行,但遍历的时候怎么不行List&Integer& w = new LinkedList&Integer&();Iterator&List& iterator_W= W.iterator();while(iterator_W.hasNext()){List next_w=iterator_W.next();if(next_w.get(i) == 1){
//错误提示为Incompatible operand types Object and int
number++;}}
我有更好的答案
java最近不是有自动拆箱 自动装箱吗 这样是可以直接比较的呀
采纳率:55%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信