用运行速度最优的方法从LinkedList列表里删除重复的元素,例如A->B->BB->B->C,返回A->B->BB->C. 考试的时候没完全想明白,考完又想了想,其实还是蛮简单的.思路很简单:利用一个Set存放LinkedList中的元素,在迭代的过程中,判断当前元素是否在Set中出现过,如果出现过就删除,也就是说我们在遍历的过程中进行删除操作,所以这里要用到ListIterator,而不能用普通的Iterator. 代码如下: private static…
某日,看到一道比较恶心的C语言的试题,考了很多比较绕的知识点,嘴脸如下: int main(void) { int a[4] = {1, 2, 3, 4}; int *ptr1=(int *)(&a+1); int *ptr2=(int *)((int)a+1); printf("%x, %x/n", ptr1[-1], *ptr2); return 0; } 问,在x86平台下输出啥? 题目虽然恶心了点,但作为一个例子来分析,还是挺好玩的.学过C语言的朋友可以暂且不看下文,自…
/*  * (1) int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Integer是java为int提供的封装类. * (2)int的默认值为0, 而Integer的默认值为null  *   即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别  * ,则只能使用Integer. 场景一:在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而…
因为在学习集合时知道集合里存放的对象都是Object类型,取出的时候需要强制类型转换为目标类型(使用泛型集合不需要),如int a = (Integer)arrayList.get(0):然后我们就会发现,为什么要强制转换为Integer,而不是int呢?int与Integer有什么区别呢? 1.基本类型与包装类区别 int是基本类型,直接存数值:如: int i = 5://直接在栈中分配空间,存放5这个数值 Integer是int的包装类,是类,拥有方法:如: Integer i = new…
写作日期:2016.08.31 修改日期:2016.09.01 .2016.09.02. 交流qq:992591601 用了几天时间复习了下C语言.对于C语言的字符串操作有些不习惯,于是作为练习,写下了下面这样错误的程序: #include <stdio.h> #define MAX_STR_SIZE 100 void copy_string(char* from, char* to) { while (*to++ = *from++); } void swap_strs(char* str1…
Convert.ToInt32将object类类型转换成int类型,如Convert.ToInt32(session["shuzi"]); (int)适合简单数据类型之间的转换: int.Parse适合将string类类型转换成int类型,如int.Parse(session["shuzi"].ToString()). 1.对null值的处理不同:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 没…
就如同int a:一样,int 也能被其它的修饰符修饰.除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种:1.signed----有符号,可修饰char.int.Int是默认有符号的.2.unsigned-----无符号,修饰int .char3.long------长型,修饰int .double4.short------短型,修饰int 我们主要来看一下signed和unsigned与int之间的联系与区别.什么叫做有符号,什么叫做无符号这个问题其实很简单,比如…
转自:http://www.cnblogs.com/leolis/p/3968943.html 在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为 整型(int)来讲,有四种方法:分别为(int).int.Parse().int.TryParse()和Convert.ToInt32(),那么 这四种方法对被转换对象有什么限制,以及各自之间有什么区别呢?相信很多童鞋也不能完全说清楚. 下面从被转换对象说起,在我们实际开发项目的过程中,我们碰到需要被转换的类型大概有3…
This interview question come from a famous communication firm of china. : ) #include <iostream> #include <stdio.h> #include <string.h> #include <conio.h> using namespace std; int main() { float a = 1.0f; cout << cout <<…
int(M) 在 integer 数据类型中,M 表示最大显示宽度.在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系. int(3).int(4).int(8) 在磁盘上都是占用 4 btyes 的存储空间.说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的.如果int的值为10 int(10)显示结果为0000000010int(3)显示结果为010就是显示的长度不一样而已 都是占用四个字节的空间…